[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
-1
@@ -41,7 +41,7 @@ internal class FirComponentCallImpl(
|
||||
override val componentIndex: Int,
|
||||
) : FirComponentCall() {
|
||||
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
|
||||
override var calleeReference: FirNamedReference = FirSimpleNamedReference(source, Name.identifier("component$componentIndex"), null)
|
||||
override var calleeReference: FirNamedReference = FirSimpleNamedReference(source, Name.identifier("component$componentIndex"))
|
||||
override val origin: FirFunctionCallOrigin = FirFunctionCallOrigin.Operator
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
|
||||
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.references
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -20,7 +19,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
abstract class FirBackingFieldReference : FirResolvedNamedReference() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val name: Name
|
||||
abstract override val candidateSymbol: FirBasedSymbol<*>?
|
||||
abstract override val resolvedSymbol: FirBackingFieldSymbol
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitBackingFieldReference(this, data)
|
||||
|
||||
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.references
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -20,7 +19,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
abstract class FirDelegateFieldReference : FirResolvedNamedReference() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val name: Name
|
||||
abstract override val candidateSymbol: FirBasedSymbol<*>?
|
||||
abstract override val resolvedSymbol: FirDelegateFieldSymbol
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitDelegateFieldReference(this, data)
|
||||
|
||||
@@ -9,7 +9,6 @@ import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.diagnostics.FirDiagnosticHolder
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -21,7 +20,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
abstract class FirErrorNamedReference : FirNamedReference(), FirDiagnosticHolder {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val name: Name
|
||||
abstract override val candidateSymbol: FirBasedSymbol<*>?
|
||||
abstract override val diagnostic: ConeDiagnostic
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorNamedReference(this, data)
|
||||
|
||||
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.references
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -19,7 +18,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
abstract class FirNamedReference : FirReference() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract val name: Name
|
||||
abstract val candidateSymbol: FirBasedSymbol<*>?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitNamedReference(this, data)
|
||||
|
||||
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.references
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirNamedReferenceWithCandidateBase : FirNamedReference() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val name: Name
|
||||
abstract val candidateSymbol: FirBasedSymbol<*>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitNamedReferenceWithCandidateBase(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformNamedReferenceWithCandidateBase(this, data) as E
|
||||
}
|
||||
-1
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
abstract class FirResolvedCallableReference : FirResolvedNamedReference() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val name: Name
|
||||
abstract override val candidateSymbol: FirBasedSymbol<*>?
|
||||
abstract override val resolvedSymbol: FirBasedSymbol<*>
|
||||
abstract val inferredTypeArguments: List<ConeKotlinType>
|
||||
abstract val mappedArguments: CallableReferenceMappedArguments
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
abstract class FirResolvedErrorReference : FirResolvedNamedReference(), FirDiagnosticHolder {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val name: Name
|
||||
abstract override val candidateSymbol: FirBasedSymbol<*>?
|
||||
abstract override val resolvedSymbol: FirBasedSymbol<*>
|
||||
abstract override val diagnostic: ConeDiagnostic
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
abstract class FirResolvedNamedReference : FirNamedReference() {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val name: Name
|
||||
abstract override val candidateSymbol: FirBasedSymbol<*>?
|
||||
abstract val resolvedSymbol: FirBasedSymbol<*>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitResolvedNamedReference(this, data)
|
||||
|
||||
-3
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirBackingFieldReferenceImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -25,13 +24,11 @@ import org.jetbrains.kotlin.name.Name
|
||||
@FirBuilderDsl
|
||||
class FirBackingFieldReferenceBuilder {
|
||||
var source: KtSourceElement? = null
|
||||
var candidateSymbol: FirBasedSymbol<*>? = null
|
||||
lateinit var resolvedSymbol: FirBackingFieldSymbol
|
||||
|
||||
fun build(): FirBackingFieldReference {
|
||||
return FirBackingFieldReferenceImpl(
|
||||
source,
|
||||
candidateSymbol,
|
||||
resolvedSymbol,
|
||||
)
|
||||
}
|
||||
|
||||
-3
@@ -12,7 +12,6 @@ import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.references.FirDelegateFieldReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirDelegateFieldReferenceImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -25,13 +24,11 @@ import org.jetbrains.kotlin.name.Name
|
||||
@FirBuilderDsl
|
||||
class FirDelegateFieldReferenceBuilder {
|
||||
var source: KtSourceElement? = null
|
||||
var candidateSymbol: FirBasedSymbol<*>? = null
|
||||
lateinit var resolvedSymbol: FirDelegateFieldSymbol
|
||||
|
||||
fun build(): FirDelegateFieldReference {
|
||||
return FirDelegateFieldReferenceImpl(
|
||||
source,
|
||||
candidateSymbol,
|
||||
resolvedSymbol,
|
||||
)
|
||||
}
|
||||
|
||||
-3
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirErrorNamedReferenceImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@@ -25,13 +24,11 @@ import org.jetbrains.kotlin.name.Name
|
||||
@FirBuilderDsl
|
||||
class FirErrorNamedReferenceBuilder {
|
||||
var source: KtSourceElement? = null
|
||||
var candidateSymbol: FirBasedSymbol<*>? = null
|
||||
lateinit var diagnostic: ConeDiagnostic
|
||||
|
||||
fun build(): FirErrorNamedReference {
|
||||
return FirErrorNamedReferenceImpl(
|
||||
source,
|
||||
candidateSymbol,
|
||||
diagnostic,
|
||||
)
|
||||
}
|
||||
|
||||
-3
@@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
@@ -26,14 +25,12 @@ import org.jetbrains.kotlin.name.Name
|
||||
class FirSimpleNamedReferenceBuilder {
|
||||
var source: KtSourceElement? = null
|
||||
lateinit var name: Name
|
||||
var candidateSymbol: FirBasedSymbol<*>? = null
|
||||
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
fun build(): FirNamedReference {
|
||||
return FirSimpleNamedReference(
|
||||
source,
|
||||
name,
|
||||
candidateSymbol,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
-2
@@ -9,7 +9,6 @@ package org.jetbrains.kotlin.fir.references.impl
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirBackingFieldSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -21,7 +20,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
internal class FirBackingFieldReferenceImpl(
|
||||
override val source: KtSourceElement?,
|
||||
override val candidateSymbol: FirBasedSymbol<*>?,
|
||||
override val resolvedSymbol: FirBackingFieldSymbol,
|
||||
) : FirBackingFieldReference() {
|
||||
override val name: Name get() = Name.identifier("\$field")
|
||||
|
||||
-2
@@ -9,7 +9,6 @@ package org.jetbrains.kotlin.fir.references.impl
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.references.FirDelegateFieldReference
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -21,7 +20,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
internal class FirDelegateFieldReferenceImpl(
|
||||
override val source: KtSourceElement?,
|
||||
override val candidateSymbol: FirBasedSymbol<*>?,
|
||||
override val resolvedSymbol: FirDelegateFieldSymbol,
|
||||
) : FirDelegateFieldReference() {
|
||||
override val name: Name get() = Name.identifier("\$delegate")
|
||||
|
||||
-2
@@ -10,7 +10,6 @@ package org.jetbrains.kotlin.fir.references.impl
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -21,7 +20,6 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
internal class FirErrorNamedReferenceImpl(
|
||||
override val source: KtSourceElement?,
|
||||
override val candidateSymbol: FirBasedSymbol<*>?,
|
||||
override val diagnostic: ConeDiagnostic,
|
||||
) : FirErrorNamedReference() {
|
||||
override val name: Name = Name.special("<${diagnostic.reason}>")
|
||||
|
||||
-2
@@ -24,8 +24,6 @@ class FirPropertyFromParameterResolvedNamedReference @FirImplementationDetail co
|
||||
override val name: Name,
|
||||
override val resolvedSymbol: FirBasedSymbol<*>,
|
||||
) : FirResolvedNamedReference() {
|
||||
override val candidateSymbol: FirBasedSymbol<*>? get() = null
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyFromParameterResolvedNamedReference {
|
||||
|
||||
-2
@@ -27,8 +27,6 @@ internal class FirResolvedCallableReferenceImpl(
|
||||
override val inferredTypeArguments: MutableList<ConeKotlinType>,
|
||||
override val mappedArguments: CallableReferenceMappedArguments,
|
||||
) : FirResolvedCallableReference() {
|
||||
override val candidateSymbol: FirBasedSymbol<*>? get() = null
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirResolvedCallableReferenceImpl {
|
||||
|
||||
-2
@@ -25,8 +25,6 @@ internal class FirResolvedErrorReferenceImpl(
|
||||
override val resolvedSymbol: FirBasedSymbol<*>,
|
||||
override val diagnostic: ConeDiagnostic,
|
||||
) : FirResolvedErrorReference() {
|
||||
override val candidateSymbol: FirBasedSymbol<*>? get() = null
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirResolvedErrorReferenceImpl {
|
||||
|
||||
-2
@@ -23,8 +23,6 @@ internal class FirResolvedNamedReferenceImpl(
|
||||
override val name: Name,
|
||||
override val resolvedSymbol: FirBasedSymbol<*>,
|
||||
) : FirResolvedNamedReference() {
|
||||
override val candidateSymbol: FirBasedSymbol<*>? get() = null
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirResolvedNamedReferenceImpl {
|
||||
|
||||
+1
-3
@@ -10,7 +10,6 @@ package org.jetbrains.kotlin.fir.references.impl
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -19,10 +18,9 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
open class FirSimpleNamedReference @FirImplementationDetail constructor(
|
||||
class FirSimpleNamedReference @FirImplementationDetail constructor(
|
||||
override val source: KtSourceElement?,
|
||||
override val name: Name,
|
||||
override val candidateSymbol: FirBasedSymbol<*>?,
|
||||
) : FirNamedReference() {
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
|
||||
@@ -125,6 +125,7 @@ import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirSuperReference
|
||||
import org.jetbrains.kotlin.fir.references.FirThisReference
|
||||
@@ -262,6 +263,8 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
|
||||
|
||||
override fun visitNamedReference(namedReference: FirNamedReference, data: D): R = visitReference(namedReference, data)
|
||||
|
||||
override fun visitNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase: FirNamedReferenceWithCandidateBase, data: D): R = visitNamedReference(namedReferenceWithCandidateBase, data)
|
||||
|
||||
override fun visitSuperReference(superReference: FirSuperReference, data: D): R = visitReference(superReference, data)
|
||||
|
||||
override fun visitThisReference(thisReference: FirThisReference, data: D): R = visitReference(thisReference, data)
|
||||
|
||||
@@ -125,6 +125,7 @@ import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirSuperReference
|
||||
import org.jetbrains.kotlin.fir.references.FirThisReference
|
||||
@@ -262,6 +263,8 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
|
||||
|
||||
override fun visitNamedReference(namedReference: FirNamedReference) = visitReference(namedReference)
|
||||
|
||||
override fun visitNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase: FirNamedReferenceWithCandidateBase) = visitNamedReference(namedReferenceWithCandidateBase)
|
||||
|
||||
override fun visitSuperReference(superReference: FirSuperReference) = visitReference(superReference)
|
||||
|
||||
override fun visitThisReference(thisReference: FirThisReference) = visitReference(thisReference)
|
||||
|
||||
@@ -125,6 +125,7 @@ import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirSuperReference
|
||||
import org.jetbrains.kotlin.fir.references.FirThisReference
|
||||
@@ -633,6 +634,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(namedReference, data)
|
||||
}
|
||||
|
||||
open fun transformNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase: FirNamedReferenceWithCandidateBase, data: D): FirReference {
|
||||
return transformElement(namedReferenceWithCandidateBase, data)
|
||||
}
|
||||
|
||||
open fun transformErrorNamedReference(errorNamedReference: FirErrorNamedReference, data: D): FirReference {
|
||||
return transformElement(errorNamedReference, data)
|
||||
}
|
||||
@@ -1201,6 +1206,10 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformNamedReference(namedReference, data)
|
||||
}
|
||||
|
||||
final override fun visitNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase: FirNamedReferenceWithCandidateBase, data: D): FirReference {
|
||||
return transformNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase, data)
|
||||
}
|
||||
|
||||
final override fun visitErrorNamedReference(errorNamedReference: FirErrorNamedReference, data: D): FirReference {
|
||||
return transformErrorNamedReference(errorNamedReference, data)
|
||||
}
|
||||
|
||||
@@ -125,6 +125,7 @@ import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirSuperReference
|
||||
import org.jetbrains.kotlin.fir.references.FirThisReference
|
||||
@@ -394,6 +395,8 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitNamedReference(namedReference: FirNamedReference, data: D): R = visitElement(namedReference, data)
|
||||
|
||||
open fun visitNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase: FirNamedReferenceWithCandidateBase, data: D): R = visitElement(namedReferenceWithCandidateBase, data)
|
||||
|
||||
open fun visitErrorNamedReference(errorNamedReference: FirErrorNamedReference, data: D): R = visitElement(errorNamedReference, data)
|
||||
|
||||
open fun visitSuperReference(superReference: FirSuperReference, data: D): R = visitElement(superReference, data)
|
||||
|
||||
@@ -125,6 +125,7 @@ import org.jetbrains.kotlin.fir.expressions.FirVariableAssignment
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
|
||||
import org.jetbrains.kotlin.fir.expressions.FirWrappedDelegateExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirSuperReference
|
||||
import org.jetbrains.kotlin.fir.references.FirThisReference
|
||||
@@ -632,6 +633,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(namedReference)
|
||||
}
|
||||
|
||||
open fun visitNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase: FirNamedReferenceWithCandidateBase) {
|
||||
visitElement(namedReferenceWithCandidateBase)
|
||||
}
|
||||
|
||||
open fun visitErrorNamedReference(errorNamedReference: FirErrorNamedReference) {
|
||||
visitElement(errorNamedReference)
|
||||
}
|
||||
@@ -1200,6 +1205,10 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitNamedReference(namedReference)
|
||||
}
|
||||
|
||||
final override fun visitNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase: FirNamedReferenceWithCandidateBase, data: Nothing?) {
|
||||
visitNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase)
|
||||
}
|
||||
|
||||
final override fun visitErrorNamedReference(errorNamedReference: FirErrorNamedReference, data: Nothing?) {
|
||||
visitErrorNamedReference(errorNamedReference)
|
||||
}
|
||||
|
||||
@@ -782,12 +782,15 @@ class FirRenderer(
|
||||
}
|
||||
|
||||
override fun visitNamedReference(namedReference: FirNamedReference) {
|
||||
val symbol = namedReference.candidateSymbol
|
||||
when {
|
||||
namedReference is FirErrorNamedReference -> print("<${namedReference.diagnostic.reason}>#")
|
||||
symbol != null -> print("R?C|${symbol.render()}|")
|
||||
else -> print("${namedReference.name}#")
|
||||
}
|
||||
print("${namedReference.name}#")
|
||||
}
|
||||
|
||||
override fun visitNamedReferenceWithCandidateBase(namedReferenceWithCandidateBase: FirNamedReferenceWithCandidateBase) {
|
||||
print("R?C|${namedReferenceWithCandidateBase.candidateSymbol.render()}|")
|
||||
}
|
||||
|
||||
override fun visitErrorNamedReference(errorNamedReference: FirErrorNamedReference) {
|
||||
print("<${errorNamedReference.diagnostic.reason}>#")
|
||||
}
|
||||
|
||||
override fun visitBackingFieldReference(backingFieldReference: FirBackingFieldReference) {
|
||||
@@ -1063,10 +1066,6 @@ class FirRenderer(
|
||||
binaryLogicExpression.rightOperand.accept(this)
|
||||
}
|
||||
|
||||
override fun visitErrorNamedReference(errorNamedReference: FirErrorNamedReference) {
|
||||
visitNamedReference(errorNamedReference)
|
||||
}
|
||||
|
||||
override fun visitEffectDeclaration(effectDeclaration: FirEffectDeclaration) {
|
||||
contractRenderer?.render(effectDeclaration)
|
||||
}
|
||||
|
||||
+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