diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt index 3faaa1641e3..0a220ec30d9 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirTypeResolverImpl.kt @@ -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("!") } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDelegatedTypeRef.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDelegatedTypeRef.kt deleted file mode 100644 index b227a998862..00000000000 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/FirDelegatedTypeRef.kt +++ /dev/null @@ -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 - abstract val delegate: FirExpression? - abstract val typeRef: FirTypeRef - - override fun accept(visitor: FirVisitor, data: D): R = visitor.visitDelegatedTypeRef(this, data) - - abstract override fun transformAnnotations(transformer: FirTransformer, data: D): FirDelegatedTypeRef -} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirDelegatedTypeRefBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirDelegatedTypeRefBuilder.kt deleted file mode 100644 index a981fc49715..00000000000 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/builder/FirDelegatedTypeRefBuilder.kt +++ /dev/null @@ -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() -} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDelegatedTypeRefImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDelegatedTypeRefImpl.kt deleted file mode 100644 index c5d46cd33c6..00000000000 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/types/impl/FirDelegatedTypeRefImpl.kt +++ /dev/null @@ -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 get() = typeRef.annotations - - override fun acceptChildren(visitor: FirVisitor, data: D) { - delegate?.accept(visitor, data) - typeRef.accept(visitor, data) - } - - override fun transformChildren(transformer: FirTransformer, data: D): FirDelegatedTypeRefImpl { - delegate = delegate?.transformSingle(transformer, data) - typeRef = typeRef.transformSingle(transformer, data) - return this - } - - override fun transformAnnotations(transformer: FirTransformer, data: D): FirDelegatedTypeRefImpl { - return this - } -} diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt index 587f03fe5f3..4de15badf1c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirTransformer.kt @@ -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 : FirVisitor { - return transformElement(delegatedTypeRef, data) - } - open fun transformTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: D): CompositeTransformResult { return transformElement(typeRefWithNullability, data) } @@ -1103,10 +1098,6 @@ abstract class FirTransformer : FirVisitor { - return transformDelegatedTypeRef(delegatedTypeRef, data) - } - final override fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: D): CompositeTransformResult { return transformTypeRefWithNullability(typeRefWithNullability, data) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt index 9fb205ac1cd..598e6ecdbe9 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitor.kt @@ -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 { 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) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt index 45f77294c6f..09fd7799d2e 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/visitors/FirVisitorVoid.kt @@ -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() { visitElement(errorTypeRef) } - open fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef) { - visitElement(delegatedTypeRef) - } - open fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability) { visitElement(typeRefWithNullability) } @@ -1101,10 +1096,6 @@ abstract class FirVisitorVoid : FirVisitor() { visitErrorTypeRef(errorTypeRef) } - final override fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: Nothing?) { - visitDelegatedTypeRef(delegatedTypeRef) - } - final override fun visitTypeRefWithNullability(typeRefWithNullability: FirTypeRefWithNullability, data: Nothing?) { visitTypeRefWithNullability(typeRefWithNullability) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt index 52e3c9b6dca..dbcc4c0c03d 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt @@ -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("") diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Utils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Utils.kt index 43704d00e79..34116e83b4f 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Utils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/Utils.kt @@ -23,7 +23,6 @@ private val PUBLIC_METHOD_NAMES_IN_OBJECT = setOf("equals", "hashCode", "getClas fun 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") diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultTransformer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultTransformer.kt index 8b92fe99f72..a75a872f1bc 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultTransformer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultTransformer.kt @@ -12,10 +12,6 @@ import org.jetbrains.kotlin.fir.references.FirReference import org.jetbrains.kotlin.fir.types.* abstract class FirDefaultTransformer : FirTransformer() { - override fun transformDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: D): CompositeTransformResult { - return transformTypeRef(delegatedTypeRef, data) - } - override fun transformImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef, data: D): CompositeTransformResult { return transformTypeRef(implicitTypeRef, data) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitor.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitor.kt index 8cba4f6d678..17c2b263624 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitor.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitor.kt @@ -11,10 +11,6 @@ import org.jetbrains.kotlin.fir.references.FirErrorNamedReference import org.jetbrains.kotlin.fir.types.* abstract class FirDefaultVisitor : FirVisitor() { - override fun visitDelegatedTypeRef(delegatedTypeRef: FirDelegatedTypeRef, data: D): R { - return visitTypeRef(delegatedTypeRef, data) - } - override fun visitImplicitTypeRef(implicitTypeRef: FirImplicitTypeRef, data: D): R { return visitTypeRef(implicitTypeRef, data) } diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitorVoid.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitorVoid.kt index 31a50128e78..5aaeeba747c 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitorVoid.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/visitors/FirDefaultVisitorVoid.kt @@ -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) } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt index 3c9bfe579a1..4b2be9bcb0a 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/BuilderConfigurator.kt @@ -223,10 +223,6 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree withCopy() } - builder(delegatedTypeRef) { - withCopy() - } - builder(functionTypeRef) { withCopy() } @@ -351,7 +347,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator(FirTree // ----------------------------------------------------------------------- findImplementationsWithElementInParents(annotationContainer) { - it.type !in setOf("FirDelegatedTypeRefImpl", "FirImplicitTypeRefImpl") + it.type !in setOf("FirImplicitTypeRefImpl") }.forEach { it.builder?.parents?.add(annotationContainerBuilder) } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt index e6db399925e..e3adb5931d0 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/FirTreeBuilder.kt @@ -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) diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt index 23a0cf15db8..be786e802ea 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt @@ -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", diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt index e6dfc5f4126..df711154008 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt @@ -564,11 +564,6 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +booleanField("isSuspend") } - delegatedTypeRef.configure { - +field("delegate", expression, nullable = true) - +field(typeRef) - } - typeRefWithNullability.configure { +booleanField("isMarkedNullable") } diff --git a/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt b/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt index 19750686343..9d0b97aec25 100644 --- a/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt +++ b/compiler/visualizer/render-fir/src/org/jetbrains/kotlin/compiler/visualizer/FirVisualizer.kt @@ -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()))