[FIR] Eliminate unused FirDelegatedTypeRef
This commit is contained in:
-1
@@ -173,7 +173,6 @@ class FirTypeResolverImpl(private val session: FirSession) : FirTypeResolver {
|
||||
resolveUserType(typeRef, symbol, substitutor, areBareTypesAllowed)
|
||||
}
|
||||
is FirFunctionTypeRef -> createFunctionalType(typeRef)
|
||||
is FirDelegatedTypeRef -> resolveType(typeRef.typeRef, scope, areBareTypesAllowed)
|
||||
is FirDynamicTypeRef -> ConeKotlinErrorType(ConeIntermediateDiagnostic("Not supported: ${typeRef::class.simpleName}"))
|
||||
else -> error("!")
|
||||
}
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2020 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.types
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirDelegatedTypeRef : FirPureAbstractElement(), FirTypeRef {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract val delegate: FirExpression?
|
||||
abstract val typeRef: FirTypeRef
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitDelegatedTypeRef(this, data)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDelegatedTypeRef
|
||||
}
|
||||
-54
@@ -1,54 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2020 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.types.builder
|
||||
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.types.FirDelegatedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirDelegatedTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
@FirBuilderDsl
|
||||
class FirDelegatedTypeRefBuilder {
|
||||
var delegate: FirExpression? = null
|
||||
lateinit var typeRef: FirTypeRef
|
||||
|
||||
fun build(): FirDelegatedTypeRef {
|
||||
return FirDelegatedTypeRefImpl(
|
||||
delegate,
|
||||
typeRef,
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildDelegatedTypeRef(init: FirDelegatedTypeRefBuilder.() -> Unit): FirDelegatedTypeRef {
|
||||
contract {
|
||||
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
return FirDelegatedTypeRefBuilder().apply(init).build()
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildDelegatedTypeRefCopy(original: FirDelegatedTypeRef, init: FirDelegatedTypeRefBuilder.() -> Unit): FirDelegatedTypeRef {
|
||||
contract {
|
||||
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
val copyBuilder = FirDelegatedTypeRefBuilder()
|
||||
copyBuilder.delegate = original.delegate
|
||||
copyBuilder.typeRef = original.typeRef
|
||||
return copyBuilder.apply(init).build()
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2020 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.types.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.types.FirDelegatedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
internal class FirDelegatedTypeRefImpl(
|
||||
override var delegate: FirExpression?,
|
||||
override var typeRef: FirTypeRef,
|
||||
) : FirDelegatedTypeRef() {
|
||||
override val source: FirSourceElement? get() = typeRef.source
|
||||
override val annotations: List<FirAnnotationCall> get() = typeRef.annotations
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
delegate?.accept(visitor, data)
|
||||
typeRef.accept(visitor, data)
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirDelegatedTypeRefImpl {
|
||||
delegate = delegate?.transformSingle(transformer, data)
|
||||
typeRef = typeRef.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirDelegatedTypeRefImpl {
|
||||
return this
|
||||
}
|
||||
}
|
||||
@@ -119,7 +119,6 @@ import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
|
||||
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
|
||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirErrorTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirDelegatedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRefWithNullability
|
||||
import org.jetbrains.kotlin.fir.types.FirUserTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirDynamicTypeRef
|
||||
@@ -595,10 +594,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
||||
return transformElement(errorTypeRef, data)
|
||||
}
|
||||
|
||||
open fun transformDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: D): CompositeTransformResult<FirTypeRef> {
|
||||
return transformElement(delegatedTypeRef, data)
|
||||
}
|
||||
|
||||
open fun transformTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: D): CompositeTransformResult<FirTypeRef> {
|
||||
return transformElement(typeRefWithNullability, data)
|
||||
}
|
||||
@@ -1103,10 +1098,6 @@ abstract class FirTransformer<in D> : FirVisitor<CompositeTransformResult<FirEle
|
||||
return transformErrorTypeRef(errorTypeRef, data)
|
||||
}
|
||||
|
||||
final override fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: D): CompositeTransformResult<FirTypeRef> {
|
||||
return transformDelegatedTypeRef(delegatedTypeRef, data)
|
||||
}
|
||||
|
||||
final override fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: D): CompositeTransformResult<FirTypeRef> {
|
||||
return transformTypeRefWithNullability(typeRefWithNullability, data)
|
||||
}
|
||||
|
||||
@@ -119,7 +119,6 @@ import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
|
||||
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
|
||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirErrorTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirDelegatedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRefWithNullability
|
||||
import org.jetbrains.kotlin.fir.types.FirUserTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirDynamicTypeRef
|
||||
@@ -367,8 +366,6 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitErrorTypeRef(errorTypeRef: FirErrorTypeRef, data: D): R = visitElement(errorTypeRef, data)
|
||||
|
||||
open fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: D): R = visitElement(delegatedTypeRef, data)
|
||||
|
||||
open fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: D): R = visitElement(typeRefWithNullability, data)
|
||||
|
||||
open fun visitUserTypeRef(userTypeRef: FirUserTypeRef, data: D): R = visitElement(userTypeRef, data)
|
||||
|
||||
@@ -119,7 +119,6 @@ import org.jetbrains.kotlin.fir.references.FirBackingFieldReference
|
||||
import org.jetbrains.kotlin.fir.references.FirResolvedCallableReference
|
||||
import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirErrorTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirDelegatedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRefWithNullability
|
||||
import org.jetbrains.kotlin.fir.types.FirUserTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.FirDynamicTypeRef
|
||||
@@ -593,10 +592,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(errorTypeRef)
|
||||
}
|
||||
|
||||
open fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef) {
|
||||
visitElement(delegatedTypeRef)
|
||||
}
|
||||
|
||||
open fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability) {
|
||||
visitElement(typeRefWithNullability)
|
||||
}
|
||||
@@ -1101,10 +1096,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitErrorTypeRef(errorTypeRef)
|
||||
}
|
||||
|
||||
final override fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: Nothing?) {
|
||||
visitDelegatedTypeRef(delegatedTypeRef)
|
||||
}
|
||||
|
||||
final override fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: Nothing?) {
|
||||
visitTypeRefWithNullability(typeRefWithNullability)
|
||||
}
|
||||
|
||||
@@ -823,12 +823,6 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
visitElement(typeRef)
|
||||
}
|
||||
|
||||
override fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef) {
|
||||
delegatedTypeRef.typeRef.accept(this)
|
||||
print(" by ")
|
||||
delegatedTypeRef.delegate?.accept(this)
|
||||
}
|
||||
|
||||
override fun visitErrorTypeRef(errorTypeRef: FirErrorTypeRef) {
|
||||
visitTypeRef(errorTypeRef)
|
||||
print("<ERROR TYPE REF: ${errorTypeRef.diagnostic.reason}>")
|
||||
|
||||
@@ -23,7 +23,6 @@ private val PUBLIC_METHOD_NAMES_IN_OBJECT = setOf("equals", "hashCode", "getClas
|
||||
fun <R : FirTypeRef> R.copyWithNewSourceKind(newKind: FirFakeSourceElementKind): R {
|
||||
if (source == null) return this
|
||||
if (source?.kind == newKind) return this
|
||||
if (this is FirDelegatedTypeRef) return this
|
||||
val newSource = source?.fakeElement(newKind)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
|
||||
@@ -12,10 +12,6 @@ import org.jetbrains.kotlin.fir.references.FirReference
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
|
||||
abstract class FirDefaultTransformer<D> : FirTransformer<D>() {
|
||||
override fun transformDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: D): CompositeTransformResult<FirTypeRef> {
|
||||
return transformTypeRef(delegatedTypeRef, data)
|
||||
}
|
||||
|
||||
override fun transformImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef, data: D): CompositeTransformResult<FirTypeRef> {
|
||||
return transformTypeRef(implicitTypeRef, data)
|
||||
}
|
||||
|
||||
@@ -11,10 +11,6 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
|
||||
abstract class FirDefaultVisitor<R, D> : FirVisitor<R, D>() {
|
||||
override fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: D): R {
|
||||
return visitTypeRef(delegatedTypeRef, data)
|
||||
}
|
||||
|
||||
override fun visitImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef, data: D): R {
|
||||
return visitTypeRef(implicitTypeRef, data)
|
||||
}
|
||||
|
||||
@@ -11,10 +11,6 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
|
||||
abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
|
||||
override fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef) {
|
||||
return visitTypeRef(delegatedTypeRef)
|
||||
}
|
||||
|
||||
override fun visitImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef) {
|
||||
return visitTypeRef(implicitTypeRef)
|
||||
}
|
||||
|
||||
+1
-5
@@ -223,10 +223,6 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
||||
withCopy()
|
||||
}
|
||||
|
||||
builder(delegatedTypeRef) {
|
||||
withCopy()
|
||||
}
|
||||
|
||||
builder(functionTypeRef) {
|
||||
withCopy()
|
||||
}
|
||||
@@ -351,7 +347,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
findImplementationsWithElementInParents(annotationContainer) {
|
||||
it.type !in setOf("FirDelegatedTypeRefImpl", "FirImplicitTypeRefImpl")
|
||||
it.type !in setOf("FirImplicitTypeRefImpl")
|
||||
}.forEach {
|
||||
it.builder?.parents?.add(annotationContainerBuilder)
|
||||
}
|
||||
|
||||
-1
@@ -142,7 +142,6 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
|
||||
val resolvedTypeRef = element("ResolvedTypeRef", TypeRef, typeRef)
|
||||
val errorTypeRef = element("ErrorTypeRef", TypeRef, resolvedTypeRef, diagnosticHolder)
|
||||
val delegatedTypeRef = element("DelegatedTypeRef", TypeRef, typeRef)
|
||||
val typeRefWithNullability = element("TypeRefWithNullability", TypeRef, typeRef)
|
||||
val userTypeRef = element("UserTypeRef", TypeRef, typeRefWithNullability)
|
||||
val dynamicTypeRef = element("DynamicTypeRef", TypeRef, typeRefWithNullability)
|
||||
|
||||
-9
@@ -434,14 +434,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
kind = OpenClass
|
||||
}
|
||||
|
||||
impl(delegatedTypeRef) {
|
||||
listOf("source", "annotations").forEach {
|
||||
default(it) {
|
||||
delegate = "typeRef"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl(safeCallExpression) {
|
||||
useTypes(safeCallCheckedSubjectType)
|
||||
}
|
||||
@@ -462,7 +454,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
}
|
||||
|
||||
val implementationWithConfigurableTypeRef = listOf(
|
||||
"FirDelegatedTypeRefImpl",
|
||||
"FirTypeProjectionWithVarianceImpl",
|
||||
"FirCallableReferenceAccessImpl",
|
||||
"FirThisReceiverExpressionImpl",
|
||||
|
||||
-5
@@ -564,11 +564,6 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+booleanField("isSuspend")
|
||||
}
|
||||
|
||||
delegatedTypeRef.configure {
|
||||
+field("delegate", expression, nullable = true)
|
||||
+field(typeRef)
|
||||
}
|
||||
|
||||
typeRefWithNullability.configure {
|
||||
+booleanField("isMarkedNullable")
|
||||
}
|
||||
|
||||
-6
@@ -476,12 +476,6 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
||||
typeProjectionWithVariance.typeRef.accept(this, data)
|
||||
}
|
||||
|
||||
override fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: StringBuilder) {
|
||||
delegatedTypeRef.typeRef.accept(this, data)
|
||||
data.append(" by ")
|
||||
delegatedTypeRef.delegate?.accept(this, data)
|
||||
}
|
||||
|
||||
override fun visitResolvedTypeRef(resolvedTypeRef: FirResolvedTypeRef, data: StringBuilder) {
|
||||
val coneType = resolvedTypeRef.type
|
||||
data.append(removeCurrentFilePackage(coneType.render()))
|
||||
|
||||
Reference in New Issue
Block a user