[FIR] Make own accept methods of FirTypeParameterRef inheritors
This change is necessary in order to make `FirElement` abstract class. To do it we need to remove all `accept` and `transform` methods from fir interfaces. So we have to make sure that all fir element implementations have their `accept` and `transform` implementations in their super classes. In particular this change makes 'accept' and 'transform' methods in `FirConstructedClassTypeParameterRef` and `FirConstructedClassTypeParameterRef` base classes.
This commit is contained in:
committed by
Space Team
parent
4d85cc8aa6
commit
be9d2953b2
+1
-1
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirFieldImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeCannotInferTypeParameterType
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeSimpleDiagnostic
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaField
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirMethodOfAnyImpl
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.declaration.FirNameConflictsTracker
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl.Companion.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl.Companion.DEFAULT_STATUS_FOR_SUSPEND_MAIN_FUNCTION
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.modifiersRepresentation
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.builtins.functions.FunctionTypeKind
|
||||
import org.jetbrains.kotlin.fir.*
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isEnumClass
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isLocal
|
||||
import org.jetbrains.kotlin.fir.diagnostics.*
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.effectiveVisibility
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isExpect
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.declarations
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirConstructedClassTypeParameterRef : FirPureAbstractElement(), FirTypeParameterRef {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val symbol: FirTypeParameterSymbol
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitConstructedClassTypeParameterRef(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformConstructedClassTypeParameterRef(this, data) as E
|
||||
}
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright 2010-2023 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.declarations
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirOuterClassTypeParameterRef : FirPureAbstractElement(), FirTypeParameterRef {
|
||||
abstract override val source: KtSourceElement?
|
||||
abstract override val symbol: FirTypeParameterSymbol
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitOuterClassTypeParameterRef(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E : FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformOuterClassTypeParameterRef(this, data) as E
|
||||
}
|
||||
+5
-6
@@ -9,10 +9,9 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
||||
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirConstructedClassTypeParameterRefImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -26,8 +25,8 @@ class FirConstructedClassTypeParameterRefBuilder {
|
||||
var source: KtSourceElement? = null
|
||||
lateinit var symbol: FirTypeParameterSymbol
|
||||
|
||||
fun build(): FirTypeParameterRef {
|
||||
return FirConstructedClassTypeParameterRef(
|
||||
fun build(): FirConstructedClassTypeParameterRef {
|
||||
return FirConstructedClassTypeParameterRefImpl(
|
||||
source,
|
||||
symbol,
|
||||
)
|
||||
@@ -36,7 +35,7 @@ class FirConstructedClassTypeParameterRefBuilder {
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildConstructedClassTypeParameterRef(init: FirConstructedClassTypeParameterRefBuilder.() -> Unit): FirTypeParameterRef {
|
||||
inline fun buildConstructedClassTypeParameterRef(init: FirConstructedClassTypeParameterRefBuilder.() -> Unit): FirConstructedClassTypeParameterRef {
|
||||
contract {
|
||||
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
|
||||
+5
-6
@@ -10,10 +10,9 @@ package org.jetbrains.kotlin.fir.declarations.builder
|
||||
import kotlin.contracts.*
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRefImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -28,8 +27,8 @@ class FirOuterClassTypeParameterRefBuilder {
|
||||
lateinit var symbol: FirTypeParameterSymbol
|
||||
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
fun build(): FirTypeParameterRef {
|
||||
return FirOuterClassTypeParameterRef(
|
||||
fun build(): FirOuterClassTypeParameterRef {
|
||||
return FirOuterClassTypeParameterRefImpl(
|
||||
source,
|
||||
symbol,
|
||||
)
|
||||
@@ -38,7 +37,7 @@ class FirOuterClassTypeParameterRefBuilder {
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
inline fun buildOuterClassTypeParameterRef(init: FirOuterClassTypeParameterRefBuilder.() -> Unit): FirTypeParameterRef {
|
||||
inline fun buildOuterClassTypeParameterRef(init: FirOuterClassTypeParameterRefBuilder.() -> Unit): FirOuterClassTypeParameterRef {
|
||||
contract {
|
||||
callsInPlace(init, kotlin.contracts.InvocationKind.EXACTLY_ONCE)
|
||||
}
|
||||
|
||||
+4
-5
@@ -8,8 +8,7 @@
|
||||
package org.jetbrains.kotlin.fir.declarations.impl
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -18,13 +17,13 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
internal class FirConstructedClassTypeParameterRef(
|
||||
internal class FirConstructedClassTypeParameterRefImpl(
|
||||
override val source: KtSourceElement?,
|
||||
override val symbol: FirTypeParameterSymbol,
|
||||
) : FirPureAbstractElement(), FirTypeParameterRef {
|
||||
) : FirConstructedClassTypeParameterRef() {
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirConstructedClassTypeParameterRef {
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirConstructedClassTypeParameterRefImpl {
|
||||
return this
|
||||
}
|
||||
}
|
||||
+4
-5
@@ -9,8 +9,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
||||
|
||||
import org.jetbrains.kotlin.KtSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirImplementationDetail
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
@@ -19,13 +18,13 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
class FirOuterClassTypeParameterRef @FirImplementationDetail constructor(
|
||||
class FirOuterClassTypeParameterRefImpl @FirImplementationDetail constructor(
|
||||
override val source: KtSourceElement?,
|
||||
override val symbol: FirTypeParameterSymbol,
|
||||
) : FirPureAbstractElement(), FirTypeParameterRef {
|
||||
) : FirOuterClassTypeParameterRef() {
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirOuterClassTypeParameterRef {
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirOuterClassTypeParameterRefImpl {
|
||||
return this
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,8 @@ import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
|
||||
@@ -179,6 +181,10 @@ abstract class FirDefaultVisitor<out R, in D> : FirVisitor<R, D>() {
|
||||
|
||||
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitMemberDeclaration(callableDeclaration, data)
|
||||
|
||||
override fun visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef, data: D): R = visitTypeParameterRef(constructedClassTypeParameterRef, data)
|
||||
|
||||
override fun visitOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef, data: D): R = visitTypeParameterRef(outerClassTypeParameterRef, data)
|
||||
|
||||
override fun visitReceiverParameter(receiverParameter: FirReceiverParameter, data: D): R = visitAnnotationContainer(receiverParameter, data)
|
||||
|
||||
override fun visitEnumEntry(enumEntry: FirEnumEntry, data: D): R = visitVariable(enumEntry, data)
|
||||
|
||||
@@ -29,6 +29,8 @@ import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
|
||||
@@ -179,6 +181,10 @@ abstract class FirDefaultVisitorVoid : FirVisitorVoid() {
|
||||
|
||||
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) = visitMemberDeclaration(callableDeclaration)
|
||||
|
||||
override fun visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef) = visitTypeParameterRef(constructedClassTypeParameterRef)
|
||||
|
||||
override fun visitOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef) = visitTypeParameterRef(outerClassTypeParameterRef)
|
||||
|
||||
override fun visitReceiverParameter(receiverParameter: FirReceiverParameter) = visitAnnotationContainer(receiverParameter)
|
||||
|
||||
override fun visitEnumEntry(enumEntry: FirEnumEntry) = visitVariable(enumEntry)
|
||||
|
||||
@@ -29,6 +29,8 @@ import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
|
||||
@@ -260,6 +262,14 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(typeParameter, data)
|
||||
}
|
||||
|
||||
open fun transformConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformElement(constructedClassTypeParameterRef, data)
|
||||
}
|
||||
|
||||
open fun transformOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformElement(outerClassTypeParameterRef, data)
|
||||
}
|
||||
|
||||
open fun transformVariable(variable: FirVariable, data: D): FirStatement {
|
||||
return transformElement(variable, data)
|
||||
}
|
||||
@@ -872,6 +882,14 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformTypeParameter(typeParameter, data)
|
||||
}
|
||||
|
||||
final override fun visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformConstructedClassTypeParameterRef(constructedClassTypeParameterRef, data)
|
||||
}
|
||||
|
||||
final override fun visitOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformOuterClassTypeParameterRef(outerClassTypeParameterRef, data)
|
||||
}
|
||||
|
||||
final override fun visitVariable(variable: FirVariable, data: D): FirStatement {
|
||||
return transformVariable(variable, data)
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
|
||||
@@ -213,6 +215,10 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data)
|
||||
|
||||
open fun visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef, data: D): R = visitElement(constructedClassTypeParameterRef, data)
|
||||
|
||||
open fun visitOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef, data: D): R = visitElement(outerClassTypeParameterRef, data)
|
||||
|
||||
open fun visitVariable(variable: FirVariable, data: D): R = visitElement(variable, data)
|
||||
|
||||
open fun visitValueParameter(valueParameter: FirValueParameter, data: D): R = visitElement(valueParameter, data)
|
||||
|
||||
@@ -29,6 +29,8 @@ import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirReceiverParameter
|
||||
@@ -259,6 +261,14 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(typeParameter)
|
||||
}
|
||||
|
||||
open fun visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef) {
|
||||
visitElement(constructedClassTypeParameterRef)
|
||||
}
|
||||
|
||||
open fun visitOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef) {
|
||||
visitElement(outerClassTypeParameterRef)
|
||||
}
|
||||
|
||||
open fun visitVariable(variable: FirVariable) {
|
||||
visitElement(variable)
|
||||
}
|
||||
@@ -871,6 +881,14 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitTypeParameter(typeParameter)
|
||||
}
|
||||
|
||||
final override fun visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef, data: Nothing?) {
|
||||
visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef)
|
||||
}
|
||||
|
||||
final override fun visitOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef, data: Nothing?) {
|
||||
visitOuterClassTypeParameterRef(outerClassTypeParameterRef)
|
||||
}
|
||||
|
||||
final override fun visitVariable(variable: FirVariable, data: Nothing?) {
|
||||
visitVariable(variable)
|
||||
}
|
||||
|
||||
+2
-2
@@ -7,8 +7,8 @@ package org.jetbrains.kotlin.fir.declarations.comparators
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRefComparator
|
||||
|
||||
|
||||
@@ -245,6 +245,14 @@ class FirRenderer(
|
||||
typeParameterRef.symbol.fir.accept(this)
|
||||
}
|
||||
|
||||
override fun visitOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef) {
|
||||
visitTypeParameterRef(outerClassTypeParameterRef)
|
||||
}
|
||||
|
||||
override fun visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef) {
|
||||
visitTypeParameterRef(constructedClassTypeParameterRef)
|
||||
}
|
||||
|
||||
override fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration) {
|
||||
modifierRenderer?.renderModifiers(memberDeclaration)
|
||||
declarationRenderer?.render(memberDeclaration)
|
||||
|
||||
@@ -5,7 +5,10 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.visitors
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructedClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirOuterClassTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.references.FirErrorNamedReference
|
||||
import org.jetbrains.kotlin.fir.references.FirReference
|
||||
@@ -106,5 +109,13 @@ abstract class FirDefaultTransformer<D> : FirTransformer<D>() {
|
||||
override fun transformImplicitInvokeCall(implicitInvokeCall: FirImplicitInvokeCall, data: D): FirStatement {
|
||||
return transformFunctionCall(implicitInvokeCall, data)
|
||||
}
|
||||
|
||||
override fun transformConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformTypeParameterRef(constructedClassTypeParameterRef, data)
|
||||
}
|
||||
|
||||
override fun transformOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformTypeParameterRef(outerClassTypeParameterRef, data)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -40,6 +40,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val callableDeclaration by sealedElement(Declaration, memberDeclaration)
|
||||
val typeParameterRef by element(Declaration)
|
||||
val typeParameter by element(Declaration, typeParameterRef, declaration)
|
||||
val constructedClassTypeParameterRef by element(Declaration, typeParameterRef)
|
||||
val outerClassTypeParameterRef by element(Declaration, typeParameterRef)
|
||||
|
||||
val variable by sealedElement(Declaration, callableDeclaration, statement)
|
||||
val valueParameter by element(Declaration, variable, controlFlowGraphOwner)
|
||||
|
||||
+2
-2
@@ -31,10 +31,10 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
defaultFalse("isPrimary", withGetter = true)
|
||||
}
|
||||
|
||||
impl(typeParameterRef, "FirOuterClassTypeParameterRef") {
|
||||
impl(outerClassTypeParameterRef) {
|
||||
publicImplementation()
|
||||
}
|
||||
impl(typeParameterRef, "FirConstructedClassTypeParameterRef")
|
||||
impl(constructedClassTypeParameterRef)
|
||||
|
||||
noImpl(declarationStatus)
|
||||
noImpl(resolvedDeclarationStatus)
|
||||
|
||||
+9
@@ -613,6 +613,15 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
||||
visitTypeParameter(typeParameterRef.symbol.fir, data)
|
||||
}
|
||||
|
||||
override fun visitOuterClassTypeParameterRef(outerClassTypeParameterRef: FirOuterClassTypeParameterRef, data: StringBuilder) {
|
||||
visitTypeParameterRef(outerClassTypeParameterRef, data)
|
||||
}
|
||||
|
||||
override fun visitConstructedClassTypeParameterRef(constructedClassTypeParameterRef: FirConstructedClassTypeParameterRef, data: StringBuilder
|
||||
) {
|
||||
visitTypeParameterRef(constructedClassTypeParameterRef, data)
|
||||
}
|
||||
|
||||
override fun visitTypeParameter(typeParameter: FirTypeParameter, data: StringBuilder) {
|
||||
data.append(typeParameter.name)
|
||||
val bounds = typeParameter.bounds.filterNot { it.render() == "kotlin/Any?" }
|
||||
|
||||
Reference in New Issue
Block a user