[FIR] Make FirDeclaration an abstract class
This commit is contained in:
+10
-10
@@ -18,14 +18,14 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed interface FirAnnotatedDeclaration<E : FirAnnotatedDeclaration<E>> : FirDeclaration<E>, FirAnnotationContainer {
|
||||
override val source: FirSourceElement?
|
||||
override val symbol: FirBasedSymbol<E>
|
||||
override val moduleData: FirModuleData
|
||||
override val resolvePhase: FirResolvePhase
|
||||
override val origin: FirDeclarationOrigin
|
||||
override val attributes: FirDeclarationAttributes
|
||||
override val annotations: List<FirAnnotationCall>
|
||||
sealed class FirAnnotatedDeclaration<E : FirAnnotatedDeclaration<E>> : FirDeclaration<E>(), FirAnnotationContainer {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val symbol: FirBasedSymbol<E>
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitAnnotatedDeclaration(this, data)
|
||||
|
||||
@@ -33,7 +33,7 @@ sealed interface FirAnnotatedDeclaration<E : FirAnnotatedDeclaration<E>> : FirDe
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformAnnotatedDeclaration(this, data) as E
|
||||
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirAnnotatedDeclaration<E>
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirAnnotatedDeclaration<E>
|
||||
}
|
||||
|
||||
@@ -14,7 +14,9 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -31,6 +33,9 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>(), FirTy
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
@@ -72,6 +77,8 @@ abstract class FirAnonymousFunction : FirFunction<FirAnonymousFunction>(), FirTy
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
+1
-2
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
@@ -19,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirAnonymousInitializer : FirPureAbstractElement(), FirDeclaration<FirAnonymousInitializer>, FirControlFlowGraphOwner {
|
||||
abstract class FirAnonymousInitializer : FirDeclaration<FirAnonymousInitializer>(), FirControlFlowGraphOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
|
||||
+16
-16
@@ -18,16 +18,16 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed interface FirCallableDeclaration<E : FirCallableDeclaration<E>> : FirTypedDeclaration<E> {
|
||||
override val source: FirSourceElement?
|
||||
override val moduleData: FirModuleData
|
||||
override val resolvePhase: FirResolvePhase
|
||||
override val origin: FirDeclarationOrigin
|
||||
override val attributes: FirDeclarationAttributes
|
||||
override val annotations: List<FirAnnotationCall>
|
||||
override val returnTypeRef: FirTypeRef
|
||||
val receiverTypeRef: FirTypeRef?
|
||||
override val symbol: FirCallableSymbol<E>
|
||||
sealed class FirCallableDeclaration<E : FirCallableDeclaration<E>> : FirTypedDeclaration<E>() {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract val receiverTypeRef: FirTypeRef?
|
||||
abstract override val symbol: FirCallableSymbol<E>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableDeclaration(this, data)
|
||||
|
||||
@@ -35,15 +35,15 @@ sealed interface FirCallableDeclaration<E : FirCallableDeclaration<E>> : FirType
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformCallableDeclaration(this, data) as E
|
||||
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
|
||||
fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
abstract fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableDeclaration<E>
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableDeclaration<E>
|
||||
|
||||
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration<E>
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration<E>
|
||||
|
||||
fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration<E>
|
||||
abstract fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration<E>
|
||||
}
|
||||
|
||||
+22
-22
@@ -20,20 +20,20 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed interface FirCallableMemberDeclaration<E : FirCallableMemberDeclaration<E>> : FirCallableDeclaration<E>, FirMemberDeclaration<E> {
|
||||
override val source: FirSourceElement?
|
||||
override val moduleData: FirModuleData
|
||||
override val resolvePhase: FirResolvePhase
|
||||
override val origin: FirDeclarationOrigin
|
||||
override val attributes: FirDeclarationAttributes
|
||||
override val annotations: List<FirAnnotationCall>
|
||||
override val returnTypeRef: FirTypeRef
|
||||
override val receiverTypeRef: FirTypeRef?
|
||||
override val symbol: FirCallableSymbol<E>
|
||||
override val typeParameters: List<FirTypeParameterRef>
|
||||
override val status: FirDeclarationStatus
|
||||
val containerSource: DeserializedContainerSource?
|
||||
val dispatchReceiverType: ConeKotlinType?
|
||||
sealed class FirCallableMemberDeclaration<E : FirCallableMemberDeclaration<E>> : FirCallableDeclaration<E>(), FirStatusOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val symbol: FirCallableSymbol<E>
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract val containerSource: DeserializedContainerSource?
|
||||
abstract val dispatchReceiverType: ConeKotlinType?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableMemberDeclaration(this, data)
|
||||
|
||||
@@ -41,19 +41,19 @@ sealed interface FirCallableMemberDeclaration<E : FirCallableMemberDeclaration<E
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformCallableMemberDeclaration(this, data) as E
|
||||
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
|
||||
override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
|
||||
override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration<E>
|
||||
}
|
||||
|
||||
+1
-2
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
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.FirStatement
|
||||
@@ -19,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed class FirClassLikeDeclaration<E : FirClassLikeDeclaration<E>> : FirPureAbstractElement(), FirAnnotatedDeclaration<E>, FirStatement {
|
||||
sealed class FirClassLikeDeclaration<E : FirClassLikeDeclaration<E>> : FirAnnotatedDeclaration<E>(), FirStatement {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirConstructor : FirFunction<FirConstructor>(), FirCallableMemberDeclaration<FirConstructor>, FirTypeParameterRefsOwner {
|
||||
abstract class FirConstructor : FirFunction<FirConstructor>(), FirTypeParameterRefsOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -32,11 +32,11 @@ abstract class FirConstructor : FirFunction<FirConstructor>(), FirCallableMember
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val symbol: FirConstructorSymbol
|
||||
abstract val delegatedConstructor: FirDelegatedConstructorCall?
|
||||
@@ -67,10 +67,10 @@ abstract class FirConstructor : FirFunction<FirConstructor>(), FirCallableMember
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract fun <D> transformDelegatedConstructor(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
@@ -16,13 +17,13 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed interface FirDeclaration<E : FirDeclaration<E>> : FirElement {
|
||||
override val source: FirSourceElement?
|
||||
val symbol: FirBasedSymbol<E>
|
||||
val moduleData: FirModuleData
|
||||
val resolvePhase: FirResolvePhase
|
||||
val origin: FirDeclarationOrigin
|
||||
val attributes: FirDeclarationAttributes
|
||||
sealed class FirDeclaration<E : FirDeclaration<E>> : FirPureAbstractElement(), FirElement {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract val symbol: FirBasedSymbol<E>
|
||||
abstract val moduleData: FirModuleData
|
||||
abstract val resolvePhase: FirResolvePhase
|
||||
abstract val origin: FirDeclarationOrigin
|
||||
abstract val attributes: FirDeclarationAttributes
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitDeclaration(this, data)
|
||||
|
||||
@@ -30,5 +31,5 @@ sealed interface FirDeclaration<E : FirDeclaration<E>> : FirElement {
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformDeclaration(this, data) as E
|
||||
|
||||
fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
abstract fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirEnumEntry : FirVariable<FirEnumEntry>(), FirCallableMemberDeclaration<FirEnumEntry> {
|
||||
abstract class FirEnumEntry : FirVariable<FirEnumEntry>() {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -31,6 +31,10 @@ abstract class FirEnumEntry : FirVariable<FirEnumEntry>(), FirCallableMemberDecl
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
abstract override val symbol: FirVariableSymbol<FirEnumEntry>
|
||||
abstract override val initializer: FirExpression?
|
||||
@@ -41,10 +45,6 @@ abstract class FirEnumEntry : FirVariable<FirEnumEntry>(), FirCallableMemberDecl
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitEnumEntry(this, data)
|
||||
|
||||
@@ -64,6 +64,10 @@ abstract class FirEnumEntry : FirVariable<FirEnumEntry>(), FirCallableMemberDecl
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
@@ -74,9 +78,5 @@ abstract class FirEnumEntry : FirVariable<FirEnumEntry>(), FirCallableMemberDecl
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
}
|
||||
|
||||
@@ -14,7 +14,9 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirErrorFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -22,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirErrorFunction : FirFunction<FirErrorFunction>(), FirDiagnosticHolder, FirTypeParametersOwner {
|
||||
abstract class FirErrorFunction : FirFunction<FirErrorFunction>(), FirDiagnosticHolder {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -31,6 +33,9 @@ abstract class FirErrorFunction : FirFunction<FirErrorFunction>(), FirDiagnostic
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
@@ -62,6 +67,8 @@ abstract class FirErrorFunction : FirFunction<FirErrorFunction>(), FirDiagnostic
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
@@ -14,8 +14,10 @@ import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirErrorPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -23,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirErrorProperty : FirVariable<FirErrorProperty>(), FirDiagnosticHolder, FirTypeParametersOwner {
|
||||
abstract class FirErrorProperty : FirVariable<FirErrorProperty>(), FirDiagnosticHolder {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -31,6 +33,10 @@ abstract class FirErrorProperty : FirVariable<FirErrorProperty>(), FirDiagnostic
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
abstract override val initializer: FirExpression?
|
||||
abstract override val delegate: FirExpression?
|
||||
@@ -41,7 +47,6 @@ abstract class FirErrorProperty : FirVariable<FirErrorProperty>(), FirDiagnostic
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val diagnostic: ConeDiagnostic
|
||||
abstract override val typeParameters: List<FirTypeParameter>
|
||||
abstract override val symbol: FirErrorPropertySymbol
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitErrorProperty(this, data)
|
||||
@@ -62,6 +67,10 @@ abstract class FirErrorProperty : FirVariable<FirErrorProperty>(), FirDiagnostic
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
@@ -72,7 +81,5 @@ abstract class FirErrorProperty : FirVariable<FirErrorProperty>(), FirDiagnostic
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirField : FirVariable<FirField>(), FirTypeParametersOwner, FirCallableMemberDeclaration<FirField> {
|
||||
abstract class FirField : FirVariable<FirField>() {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -31,6 +31,10 @@ abstract class FirField : FirVariable<FirField>(), FirTypeParametersOwner, FirCa
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
abstract override val symbol: FirVariableSymbol<FirField>
|
||||
abstract override val initializer: FirExpression?
|
||||
@@ -41,10 +45,6 @@ abstract class FirField : FirVariable<FirField>(), FirTypeParametersOwner, FirCa
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val typeParameters: List<FirTypeParameter>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitField(this, data)
|
||||
|
||||
@@ -64,6 +64,10 @@ abstract class FirField : FirVariable<FirField>(), FirTypeParametersOwner, FirCa
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirField
|
||||
@@ -74,9 +78,5 @@ abstract class FirField : FirVariable<FirField>(), FirTypeParametersOwner, FirCa
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirField
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFileSymbol
|
||||
@@ -19,7 +18,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirFile : FirPureAbstractElement(), FirAnnotatedDeclaration<FirFile> {
|
||||
abstract class FirFile : FirAnnotatedDeclaration<FirFile>() {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
|
||||
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.FirTargetElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
@@ -15,7 +14,9 @@ import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.expressions.FirStatement
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -23,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed class FirFunction<E : FirFunction<E>> : FirPureAbstractElement(), FirCallableDeclaration<E>, FirTargetElement, FirTypeParameterRefsOwner, FirControlFlowGraphOwner, FirStatement {
|
||||
sealed class FirFunction<E : FirFunction<E>> : FirCallableMemberDeclaration<E>(), FirTargetElement, FirControlFlowGraphOwner, FirStatement {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -33,6 +34,9 @@ sealed class FirFunction<E : FirFunction<E>> : FirPureAbstractElement(), FirCall
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val symbol: FirFunctionSymbol<E>
|
||||
abstract val valueParameters: List<FirValueParameter>
|
||||
@@ -64,6 +68,8 @@ sealed class FirFunction<E : FirFunction<E>> : FirPureAbstractElement(), FirCall
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirFunction<E>
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirFunction<E>
|
||||
|
||||
abstract fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirFunction<E>
|
||||
|
||||
abstract fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirFunction<E>
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2021 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.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed interface FirMemberDeclaration<E : FirMemberDeclaration<E>> : FirAnnotatedDeclaration<E>, FirTypeParameterRefsOwner {
|
||||
override val source: FirSourceElement?
|
||||
override val symbol: FirBasedSymbol<E>
|
||||
override val moduleData: FirModuleData
|
||||
override val resolvePhase: FirResolvePhase
|
||||
override val origin: FirDeclarationOrigin
|
||||
override val attributes: FirDeclarationAttributes
|
||||
override val annotations: List<FirAnnotationCall>
|
||||
override val typeParameters: List<FirTypeParameterRef>
|
||||
val status: FirDeclarationStatus
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitMemberDeclaration(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformMemberDeclaration(this, data) as E
|
||||
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirMemberDeclaration<E>
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirMemberDeclaration<E>
|
||||
|
||||
fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirMemberDeclaration<E>
|
||||
}
|
||||
@@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner, FirControlFlowGraphOwner, FirCallableMemberDeclaration<FirProperty> {
|
||||
abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner, FirControlFlowGraphOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -33,6 +33,9 @@ abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner,
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
abstract override val initializer: FirExpression?
|
||||
abstract override val delegate: FirExpression?
|
||||
@@ -42,14 +45,11 @@ abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner,
|
||||
abstract override val getter: FirPropertyAccessor?
|
||||
abstract override val setter: FirPropertyAccessor?
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val typeParameters: List<FirTypeParameter>
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val symbol: FirPropertySymbol
|
||||
abstract val backingFieldSymbol: FirBackingFieldSymbol
|
||||
abstract val isLocal: Boolean
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val typeParameters: List<FirTypeParameter>
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitProperty(this, data)
|
||||
|
||||
@@ -71,6 +71,8 @@ abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner,
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
@@ -83,7 +85,5 @@ abstract class FirProperty : FirVariable<FirProperty>(), FirTypeParametersOwner,
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirPropertyAccessor : FirFunction<FirPropertyAccessor>(), FirCallableMemberDeclaration<FirPropertyAccessor>, FirContractDescriptionOwner, FirTypeParametersOwner {
|
||||
abstract class FirPropertyAccessor : FirFunction<FirPropertyAccessor>(), FirContractDescriptionOwner, FirTypeParametersOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -31,12 +31,12 @@ abstract class FirPropertyAccessor : FirFunction<FirPropertyAccessor>(), FirCall
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
abstract override val contractDescription: FirContractDescription
|
||||
abstract override val symbol: FirPropertyAccessorSymbol
|
||||
abstract val isGetter: Boolean
|
||||
@@ -68,12 +68,12 @@ abstract class FirPropertyAccessor : FirFunction<FirPropertyAccessor>(), FirCall
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformContractDescription(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
@@ -22,19 +22,19 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirRegularClass : FirMemberDeclaration<FirRegularClass>, FirTypeParameterRefsOwner, FirControlFlowGraphOwner, FirClass<FirRegularClass>() {
|
||||
abstract class FirRegularClass : FirClass<FirRegularClass>(), FirStatusOwner, FirControlFlowGraphOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val classKind: ClassKind
|
||||
abstract override val declarations: List<FirDeclaration<*>>
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val scopeProvider: FirScopeProvider
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract val name: Name
|
||||
abstract override val symbol: FirRegularClassSymbol
|
||||
abstract val companionObject: FirRegularClass?
|
||||
@@ -53,14 +53,14 @@ abstract class FirRegularClass : FirMemberDeclaration<FirRegularClass>, FirTypeP
|
||||
|
||||
abstract override fun replaceSuperTypeRefs(newSuperTypeRefs: List<FirTypeRef>)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract override fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract fun <D> transformCompanionObject(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
abstract override fun <D> transformSuperTypeRefs(transformer: FirTransformer<D>, data: D): FirRegularClass
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirSimpleFunction : FirFunction<FirSimpleFunction>(), FirCallableMemberDeclaration<FirSimpleFunction>, FirContractDescriptionOwner, FirTypeParametersOwner {
|
||||
abstract class FirSimpleFunction : FirFunction<FirSimpleFunction>(), FirContractDescriptionOwner, FirTypeParametersOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -32,12 +32,12 @@ abstract class FirSimpleFunction : FirFunction<FirSimpleFunction>(), FirCallable
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract override val valueParameters: List<FirValueParameter>
|
||||
abstract override val body: FirBlock?
|
||||
abstract override val contractDescription: FirContractDescription
|
||||
abstract val name: Name
|
||||
abstract override val symbol: FirNamedFunctionSymbol
|
||||
@@ -68,12 +68,12 @@ abstract class FirSimpleFunction : FirFunction<FirSimpleFunction>(), FirCallable
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformContractDescription(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2010-2021 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.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed interface FirStatusOwner : FirTypeParameterRefsOwner {
|
||||
override val source: FirSourceElement?
|
||||
override val typeParameters: List<FirTypeParameterRef>
|
||||
val status: FirDeclarationStatus
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitStatusOwner(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformStatusOwner(this, data) as E
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirStatusOwner
|
||||
|
||||
fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirStatusOwner
|
||||
}
|
||||
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirTypeAlias : FirClassLikeDeclaration<FirTypeAlias>(), FirMemberDeclaration<FirTypeAlias>, FirTypeParametersOwner {
|
||||
abstract class FirTypeAlias : FirClassLikeDeclaration<FirTypeAlias>(), FirStatusOwner, FirTypeParametersOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
|
||||
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirPureAbstractElement
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
@@ -21,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirTypeParameter : FirPureAbstractElement(), FirTypeParameterRef, FirAnnotatedDeclaration<FirTypeParameter> {
|
||||
abstract class FirTypeParameter : FirTypeParameterRef, FirAnnotatedDeclaration<FirTypeParameter>() {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
|
||||
+13
-13
@@ -18,15 +18,15 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed interface FirTypedDeclaration<E : FirTypedDeclaration<E>> : FirAnnotatedDeclaration<E> {
|
||||
override val source: FirSourceElement?
|
||||
override val symbol: FirBasedSymbol<E>
|
||||
override val moduleData: FirModuleData
|
||||
override val resolvePhase: FirResolvePhase
|
||||
override val origin: FirDeclarationOrigin
|
||||
override val attributes: FirDeclarationAttributes
|
||||
override val annotations: List<FirAnnotationCall>
|
||||
val returnTypeRef: FirTypeRef
|
||||
sealed class FirTypedDeclaration<E : FirTypedDeclaration<E>> : FirAnnotatedDeclaration<E>() {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val symbol: FirBasedSymbol<E>
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract val returnTypeRef: FirTypeRef
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitTypedDeclaration(this, data)
|
||||
|
||||
@@ -34,11 +34,11 @@ sealed interface FirTypedDeclaration<E : FirTypedDeclaration<E>> : FirAnnotatedD
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformTypedDeclaration(this, data) as E
|
||||
|
||||
override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
abstract fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirTypedDeclaration<E>
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirTypedDeclaration<E>
|
||||
|
||||
fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirTypedDeclaration<E>
|
||||
abstract fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirTypedDeclaration<E>
|
||||
}
|
||||
|
||||
@@ -13,8 +13,10 @@ import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -30,6 +32,10 @@ abstract class FirValueParameter : FirVariable<FirValueParameter>(), FirControlF
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
abstract override val symbol: FirVariableSymbol<FirValueParameter>
|
||||
abstract override val initializer: FirExpression?
|
||||
@@ -66,6 +72,10 @@ abstract class FirValueParameter : FirVariable<FirValueParameter>(), FirControlF
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
@@ -7,15 +7,16 @@ package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
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.expressions.FirStatement
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -23,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed class FirVariable<E : FirVariable<E>> : FirPureAbstractElement(), FirCallableDeclaration<E>, FirAnnotatedDeclaration<E>, FirStatement {
|
||||
sealed class FirVariable<E : FirVariable<E>> : FirCallableMemberDeclaration<E>(), FirStatement {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -31,6 +32,10 @@ sealed class FirVariable<E : FirVariable<E>> : FirPureAbstractElement(), FirCall
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract val name: Name
|
||||
abstract override val symbol: FirVariableSymbol<E>
|
||||
abstract val initializer: FirExpression?
|
||||
@@ -60,6 +65,10 @@ sealed class FirVariable<E : FirVariable<E>> : FirPureAbstractElement(), FirCall
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirVariable<E>
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirVariable<E>
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirVariable<E>
|
||||
|
||||
abstract fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirVariable<E>
|
||||
|
||||
abstract fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirVariable<E>
|
||||
|
||||
+3
-3
@@ -40,14 +40,14 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder {
|
||||
abstract override var attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||
abstract override var returnTypeRef: FirTypeRef
|
||||
abstract override var status: FirDeclarationStatus
|
||||
abstract override var containerSource: DeserializedContainerSource?
|
||||
abstract override var dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val valueParameters: MutableList<FirValueParameter>
|
||||
abstract override var body: FirBlock?
|
||||
abstract var receiverTypeRef: FirTypeRef?
|
||||
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
||||
abstract var controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract var status: FirDeclarationStatus
|
||||
abstract var containerSource: DeserializedContainerSource?
|
||||
abstract var dispatchReceiverType: ConeKotlinType?
|
||||
abstract var symbol: FirConstructorSymbol
|
||||
abstract var delegatedConstructor: FirDelegatedConstructorCall?
|
||||
override fun build(): FirConstructor
|
||||
|
||||
+15
@@ -15,19 +15,23 @@ import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.InlineStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirFunctionBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirImplicitTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
@@ -43,6 +47,8 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
var receiverTypeRef: FirTypeRef? = null
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
override var body: FirBlock? = null
|
||||
@@ -63,6 +69,8 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
||||
annotations,
|
||||
returnTypeRef,
|
||||
receiverTypeRef,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
controlFlowGraphReference,
|
||||
valueParameters,
|
||||
body,
|
||||
@@ -83,6 +91,13 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
||||
set(_) {
|
||||
throw IllegalStateException()
|
||||
}
|
||||
|
||||
@Deprecated("Modification of 'status' has no impact for FirAnonymousFunctionBuilder", level = DeprecationLevel.HIDDEN)
|
||||
override var status: FirDeclarationStatus
|
||||
get() = throw IllegalStateException()
|
||||
set(_) {
|
||||
throw IllegalStateException()
|
||||
}
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalContracts::class)
|
||||
|
||||
+3
-3
@@ -44,10 +44,10 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
override var receiverTypeRef: FirTypeRef? = null
|
||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override lateinit var symbol: FirConstructorSymbol
|
||||
override var delegatedConstructor: FirDelegatedConstructorCall? = null
|
||||
@@ -63,10 +63,10 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
|
||||
returnTypeRef,
|
||||
receiverTypeRef,
|
||||
typeParameters,
|
||||
valueParameters,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
annotations,
|
||||
symbol,
|
||||
delegatedConstructor,
|
||||
@@ -105,10 +105,10 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||
copyBuilder.typeParameters.addAll(original.typeParameters)
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
copyBuilder.annotations.addAll(original.annotations)
|
||||
copyBuilder.symbol = original.symbol
|
||||
copyBuilder.delegatedConstructor = original.delegatedConstructor
|
||||
|
||||
+9
@@ -12,18 +12,23 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultSetterValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
@@ -39,6 +44,8 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
lateinit var returnTypeRef: FirTypeRef
|
||||
var receiverTypeRef: FirTypeRef? = null
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var symbol: FirVariableSymbol<FirValueParameter>
|
||||
var initializer: FirExpression? = null
|
||||
var delegate: FirExpression? = null
|
||||
@@ -62,6 +69,8 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
receiverTypeRef,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
symbol,
|
||||
initializer,
|
||||
delegate,
|
||||
|
||||
+8
-8
@@ -41,14 +41,14 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
||||
lateinit var origin: FirDeclarationOrigin
|
||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
lateinit var returnTypeRef: FirTypeRef
|
||||
lateinit var name: Name
|
||||
lateinit var symbol: FirVariableSymbol<FirEnumEntry>
|
||||
var initializer: FirExpression? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
lateinit var status: FirDeclarationStatus
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var name: Name
|
||||
lateinit var symbol: FirVariableSymbol<FirEnumEntry>
|
||||
var initializer: FirExpression? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
|
||||
override fun build(): FirEnumEntry {
|
||||
return FirEnumEntryImpl(
|
||||
@@ -58,14 +58,14 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
name,
|
||||
symbol,
|
||||
initializer,
|
||||
annotations,
|
||||
typeParameters,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
symbol,
|
||||
initializer,
|
||||
annotations,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+8
-2
@@ -12,19 +12,23 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirErrorFunctionImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirErrorFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
@@ -39,10 +43,11 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
|
||||
lateinit var origin: FirDeclarationOrigin
|
||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
lateinit var diagnostic: ConeDiagnostic
|
||||
lateinit var symbol: FirErrorFunctionSymbol
|
||||
val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
|
||||
override fun build(): FirErrorFunction {
|
||||
return FirErrorFunctionImpl(
|
||||
@@ -52,10 +57,11 @@ class FirErrorFunctionBuilder : FirAnnotationContainerBuilder {
|
||||
origin,
|
||||
attributes,
|
||||
annotations,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
diagnostic,
|
||||
symbol,
|
||||
typeParameters,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+9
-3
@@ -12,20 +12,24 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirErrorProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirErrorPropertyImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirErrorPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
@@ -39,10 +43,11 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||
lateinit var origin: FirDeclarationOrigin
|
||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var name: Name
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
lateinit var diagnostic: ConeDiagnostic
|
||||
val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
lateinit var symbol: FirErrorPropertySymbol
|
||||
|
||||
override fun build(): FirErrorProperty {
|
||||
@@ -52,10 +57,11 @@ class FirErrorPropertyBuilder : FirAnnotationContainerBuilder {
|
||||
resolvePhase,
|
||||
origin,
|
||||
attributes,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
annotations,
|
||||
diagnostic,
|
||||
typeParameters,
|
||||
symbol,
|
||||
)
|
||||
}
|
||||
|
||||
+9
-9
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirFieldImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
@@ -43,15 +43,15 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
open lateinit var returnTypeRef: FirTypeRef
|
||||
open val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
open lateinit var status: FirDeclarationStatus
|
||||
open var containerSource: DeserializedContainerSource? = null
|
||||
open var dispatchReceiverType: ConeKotlinType? = null
|
||||
open lateinit var name: Name
|
||||
open lateinit var symbol: FirVariableSymbol<FirField>
|
||||
open var initializer: FirExpression? = null
|
||||
open var isVar: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
open val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
open lateinit var status: FirDeclarationStatus
|
||||
open var containerSource: DeserializedContainerSource? = null
|
||||
open var dispatchReceiverType: ConeKotlinType? = null
|
||||
|
||||
@OptIn(FirImplementationDetail::class)
|
||||
override fun build(): FirField {
|
||||
@@ -62,15 +62,15 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
typeParameters,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
symbol,
|
||||
initializer,
|
||||
isVar,
|
||||
annotations,
|
||||
typeParameters,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
+6
@@ -11,14 +11,17 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
@@ -34,6 +37,9 @@ interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuil
|
||||
abstract override var attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||
abstract var returnTypeRef: FirTypeRef
|
||||
abstract var status: FirDeclarationStatus
|
||||
abstract var containerSource: DeserializedContainerSource?
|
||||
abstract var dispatchReceiverType: ConeKotlinType?
|
||||
abstract val valueParameters: MutableList<FirValueParameter>
|
||||
abstract var body: FirBlock?
|
||||
override fun build(): FirFunction<*>
|
||||
|
||||
+2
-2
@@ -44,10 +44,10 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
override var receiverTypeRef: FirTypeRef? = null
|
||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override lateinit var symbol: FirConstructorSymbol
|
||||
override var delegatedConstructor: FirDelegatedConstructorCall? = null
|
||||
@@ -63,10 +63,10 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
|
||||
returnTypeRef,
|
||||
receiverTypeRef,
|
||||
typeParameters,
|
||||
valueParameters,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
annotations,
|
||||
symbol,
|
||||
delegatedConstructor,
|
||||
|
||||
+7
-7
@@ -45,11 +45,11 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
override var body: FirBlock? = null
|
||||
lateinit var status: FirDeclarationStatus
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
var contractDescription: FirContractDescription = FirEmptyContractDescription
|
||||
lateinit var symbol: FirPropertyAccessorSymbol
|
||||
var isGetter: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||
@@ -65,11 +65,11 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
valueParameters,
|
||||
body,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
body,
|
||||
contractDescription,
|
||||
symbol,
|
||||
isGetter,
|
||||
@@ -100,11 +100,11 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro
|
||||
copyBuilder.origin = original.origin
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
copyBuilder.body = original.body
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
copyBuilder.body = original.body
|
||||
copyBuilder.contractDescription = original.contractDescription
|
||||
copyBuilder.symbol = original.symbol
|
||||
copyBuilder.isGetter = original.isGetter
|
||||
|
||||
+12
-12
@@ -46,6 +46,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
lateinit var returnTypeRef: FirTypeRef
|
||||
var receiverTypeRef: FirTypeRef? = null
|
||||
lateinit var status: FirDeclarationStatus
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var name: Name
|
||||
var initializer: FirExpression? = null
|
||||
var delegate: FirExpression? = null
|
||||
@@ -54,12 +57,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
||||
var getter: FirPropertyAccessor? = null
|
||||
var setter: FirPropertyAccessor? = null
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var symbol: FirPropertySymbol
|
||||
var isLocal: Boolean by kotlin.properties.Delegates.notNull<Boolean>()
|
||||
lateinit var status: FirDeclarationStatus
|
||||
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||
|
||||
override fun build(): FirProperty {
|
||||
return FirPropertyImpl(
|
||||
@@ -70,6 +70,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
receiverTypeRef,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
initializer,
|
||||
delegate,
|
||||
@@ -78,12 +81,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
||||
getter,
|
||||
setter,
|
||||
annotations,
|
||||
typeParameters,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
symbol,
|
||||
isLocal,
|
||||
status,
|
||||
typeParameters,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -110,6 +110,9 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.name = original.name
|
||||
copyBuilder.initializer = original.initializer
|
||||
copyBuilder.delegate = original.delegate
|
||||
@@ -118,11 +121,8 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
|
||||
copyBuilder.getter = original.getter
|
||||
copyBuilder.setter = original.setter
|
||||
copyBuilder.annotations.addAll(original.annotations)
|
||||
copyBuilder.typeParameters.addAll(original.typeParameters)
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.symbol = original.symbol
|
||||
copyBuilder.isLocal = original.isLocal
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.typeParameters.addAll(original.typeParameters)
|
||||
return copyBuilder.apply(init).build()
|
||||
}
|
||||
|
||||
+6
-6
@@ -41,12 +41,12 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
|
||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
open lateinit var status: FirDeclarationStatus
|
||||
override lateinit var classKind: ClassKind
|
||||
override val declarations: MutableList<FirDeclaration<*>> = mutableListOf()
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
override lateinit var scopeProvider: FirScopeProvider
|
||||
open lateinit var status: FirDeclarationStatus
|
||||
open lateinit var name: Name
|
||||
open lateinit var symbol: FirRegularClassSymbol
|
||||
open var companionObject: FirRegularClass? = null
|
||||
@@ -59,12 +59,12 @@ open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBu
|
||||
resolvePhase,
|
||||
origin,
|
||||
attributes,
|
||||
annotations,
|
||||
typeParameters,
|
||||
status,
|
||||
classKind,
|
||||
declarations,
|
||||
annotations,
|
||||
scopeProvider,
|
||||
status,
|
||||
name,
|
||||
symbol,
|
||||
companionObject,
|
||||
@@ -93,12 +93,12 @@ inline fun buildRegularClassCopy(original: FirRegularClass, init: FirRegularClas
|
||||
copyBuilder.resolvePhase = original.resolvePhase
|
||||
copyBuilder.origin = original.origin
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.annotations.addAll(original.annotations)
|
||||
copyBuilder.typeParameters.addAll(original.typeParameters)
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.classKind = original.classKind
|
||||
copyBuilder.declarations.addAll(original.declarations)
|
||||
copyBuilder.annotations.addAll(original.annotations)
|
||||
copyBuilder.scopeProvider = original.scopeProvider
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.name = original.name
|
||||
copyBuilder.symbol = original.symbol
|
||||
copyBuilder.companionObject = original.companionObject
|
||||
|
||||
+7
-7
@@ -46,11 +46,11 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
open var receiverTypeRef: FirTypeRef? = null
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
override var body: FirBlock? = null
|
||||
open lateinit var status: FirDeclarationStatus
|
||||
open var containerSource: DeserializedContainerSource? = null
|
||||
open var dispatchReceiverType: ConeKotlinType? = null
|
||||
open var contractDescription: FirContractDescription = FirEmptyContractDescription
|
||||
open lateinit var name: Name
|
||||
open lateinit var symbol: FirNamedFunctionSymbol
|
||||
@@ -66,11 +66,11 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
receiverTypeRef,
|
||||
valueParameters,
|
||||
body,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
body,
|
||||
contractDescription,
|
||||
name,
|
||||
symbol,
|
||||
@@ -102,11 +102,11 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
copyBuilder.body = original.body
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
copyBuilder.body = original.body
|
||||
copyBuilder.contractDescription = original.contractDescription
|
||||
copyBuilder.name = original.name
|
||||
copyBuilder.symbol = original.symbol
|
||||
|
||||
+11
@@ -12,18 +12,23 @@ import org.jetbrains.kotlin.fir.builder.FirAnnotationContainerBuilder
|
||||
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirValueParameterImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
@@ -38,6 +43,8 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||
open lateinit var origin: FirDeclarationOrigin
|
||||
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
open lateinit var returnTypeRef: FirTypeRef
|
||||
open var containerSource: DeserializedContainerSource? = null
|
||||
open var dispatchReceiverType: ConeKotlinType? = null
|
||||
open lateinit var name: Name
|
||||
open lateinit var symbol: FirVariableSymbol<FirValueParameter>
|
||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||
@@ -54,6 +61,8 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder {
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
symbol,
|
||||
annotations,
|
||||
@@ -86,6 +95,8 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa
|
||||
copyBuilder.origin = original.origin
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.name = original.name
|
||||
copyBuilder.symbol = original.symbol
|
||||
copyBuilder.annotations.addAll(original.annotations)
|
||||
|
||||
+14
@@ -12,15 +12,19 @@ import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.InlineStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -36,6 +40,8 @@ internal class FirAnonymousFunctionImpl(
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override var body: FirBlock?,
|
||||
@@ -48,6 +54,7 @@ internal class FirAnonymousFunctionImpl(
|
||||
override var typeRef: FirTypeRef,
|
||||
) : FirAnonymousFunction() {
|
||||
override var resolvePhase: FirResolvePhase = FirResolvePhase.DECLARATIONS
|
||||
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
@@ -57,6 +64,7 @@ internal class FirAnonymousFunctionImpl(
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
body?.accept(visitor, data)
|
||||
@@ -69,6 +77,7 @@ internal class FirAnonymousFunctionImpl(
|
||||
transformAnnotations(transformer, data)
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
@@ -93,6 +102,11 @@ internal class FirAnonymousFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
+7
-7
@@ -38,10 +38,10 @@ internal class FirConstructorImpl(
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val symbol: FirConstructorSymbol,
|
||||
override var delegatedConstructor: FirDelegatedConstructorCall?,
|
||||
@@ -58,9 +58,9 @@ internal class FirConstructorImpl(
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
delegatedConstructor?.accept(visitor, data)
|
||||
body?.accept(visitor, data)
|
||||
@@ -70,9 +70,9 @@ internal class FirConstructorImpl(
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
transformDelegatedConstructor(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
@@ -94,13 +94,13 @@ internal class FirConstructorImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
status = status.transform(transformer, data)
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
+20
@@ -9,16 +9,21 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -34,6 +39,8 @@ internal class FirDefaultSetterValueParameter(
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val symbol: FirVariableSymbol<FirValueParameter>,
|
||||
override var initializer: FirExpression?,
|
||||
override var delegate: FirExpression?,
|
||||
@@ -48,6 +55,8 @@ internal class FirDefaultSetterValueParameter(
|
||||
override val isNoinline: Boolean,
|
||||
override val isVararg: Boolean,
|
||||
) : FirValueParameter() {
|
||||
override val typeParameters: List<FirTypeParameterRef> get() = emptyList()
|
||||
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
override val name: Name = Name.identifier("value")
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
|
||||
@@ -59,6 +68,7 @@ internal class FirDefaultSetterValueParameter(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
delegate?.accept(visitor, data)
|
||||
getter?.accept(visitor, data)
|
||||
@@ -71,6 +81,7 @@ internal class FirDefaultSetterValueParameter(
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformDelegate(transformer, data)
|
||||
transformGetter(transformer, data)
|
||||
@@ -89,6 +100,15 @@ internal class FirDefaultSetterValueParameter(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
initializer = initializer?.transform(transformer, data)
|
||||
return this
|
||||
|
||||
+17
-17
@@ -36,14 +36,14 @@ internal class FirEnumEntryImpl(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override val name: Name,
|
||||
override val symbol: FirVariableSymbol<FirEnumEntry>,
|
||||
override var initializer: FirExpression?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
override val symbol: FirVariableSymbol<FirEnumEntry>,
|
||||
override var initializer: FirExpression?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
) : FirEnumEntry() {
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override val delegate: FirExpression? get() = null
|
||||
@@ -60,17 +60,17 @@ internal class FirEnumEntryImpl(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -84,6 +84,16 @@ internal class FirEnumEntryImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
initializer = initializer?.transform(transformer, data)
|
||||
return this
|
||||
@@ -106,16 +116,6 @@ internal class FirEnumEntryImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
return this
|
||||
|
||||
+15
-4
@@ -9,17 +9,21 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirErrorFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirErrorFunctionSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -34,15 +38,18 @@ internal class FirErrorFunctionImpl(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override val diagnostic: ConeDiagnostic,
|
||||
override val symbol: FirErrorFunctionSymbol,
|
||||
override val typeParameters: MutableList<FirTypeParameter>,
|
||||
) : FirErrorFunction() {
|
||||
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic)
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val body: FirBlock? get() = null
|
||||
override val typeParameters: List<FirTypeParameter> get() = emptyList()
|
||||
|
||||
init {
|
||||
symbol.bind(this)
|
||||
@@ -51,17 +58,17 @@ internal class FirErrorFunctionImpl(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
returnTypeRef.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -79,6 +86,11 @@ internal class FirErrorFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -89,7 +101,6 @@ internal class FirErrorFunctionImpl(
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
+20
-9
@@ -9,18 +9,22 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirErrorProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirErrorPropertySymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.FirErrorTypeRefImpl
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -34,14 +38,17 @@ internal class FirErrorPropertyImpl(
|
||||
override var resolvePhase: FirResolvePhase,
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val diagnostic: ConeDiagnostic,
|
||||
override val typeParameters: MutableList<FirTypeParameter>,
|
||||
override val symbol: FirErrorPropertySymbol,
|
||||
) : FirErrorProperty() {
|
||||
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic)
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override val typeParameters: List<FirTypeParameterRef> get() = emptyList()
|
||||
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
override val initializer: FirExpression? get() = null
|
||||
override val delegate: FirExpression? get() = null
|
||||
override val delegateFieldSymbol: FirDelegateFieldSymbol<FirErrorProperty>? get() = null
|
||||
@@ -57,13 +64,13 @@ internal class FirErrorPropertyImpl(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -77,6 +84,15 @@ internal class FirErrorPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
return this
|
||||
}
|
||||
@@ -98,11 +114,6 @@ internal class FirErrorPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
return this
|
||||
|
||||
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirField
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
@@ -37,15 +37,15 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
override val symbol: FirVariableSymbol<FirField>,
|
||||
override var initializer: FirExpression?,
|
||||
override val isVar: Boolean,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val typeParameters: MutableList<FirTypeParameter>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
) : FirField() {
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override val delegate: FirExpression? get() = null
|
||||
@@ -61,17 +61,17 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -85,6 +85,16 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
initializer = initializer?.transform(transformer, data)
|
||||
return this
|
||||
@@ -107,16 +117,6 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
return this
|
||||
|
||||
+7
-7
@@ -38,10 +38,10 @@ internal class FirPrimaryConstructor(
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val symbol: FirConstructorSymbol,
|
||||
override var delegatedConstructor: FirDelegatedConstructorCall?,
|
||||
@@ -58,9 +58,9 @@ internal class FirPrimaryConstructor(
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
delegatedConstructor?.accept(visitor, data)
|
||||
body?.accept(visitor, data)
|
||||
@@ -70,9 +70,9 @@ internal class FirPrimaryConstructor(
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
transformDelegatedConstructor(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
@@ -94,13 +94,13 @@ internal class FirPrimaryConstructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
status = status.transform(transformer, data)
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -38,11 +38,11 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override var body: FirBlock?,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override var body: FirBlock?,
|
||||
override var contractDescription: FirContractDescription,
|
||||
override val symbol: FirPropertyAccessorSymbol,
|
||||
override val isGetter: Boolean,
|
||||
@@ -59,10 +59,10 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
body?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
contractDescription.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
@@ -70,10 +70,10 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformContractDescription(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
@@ -89,6 +89,11 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -99,11 +104,6 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformContractDescription(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
contractDescription = contractDescription.transform(transformer, data)
|
||||
return this
|
||||
|
||||
+12
-12
@@ -39,6 +39,9 @@ internal class FirPropertyImpl(
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
override var initializer: FirExpression?,
|
||||
override var delegate: FirExpression?,
|
||||
@@ -47,12 +50,9 @@ internal class FirPropertyImpl(
|
||||
override var getter: FirPropertyAccessor?,
|
||||
override var setter: FirPropertyAccessor?,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val typeParameters: MutableList<FirTypeParameter>,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val symbol: FirPropertySymbol,
|
||||
override val isLocal: Boolean,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val typeParameters: MutableList<FirTypeParameter>,
|
||||
) : FirProperty() {
|
||||
override val isVal: Boolean get() = !isVar
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
@@ -67,25 +67,25 @@ internal class FirPropertyImpl(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
delegate?.accept(visitor, data)
|
||||
getter?.accept(visitor, data)
|
||||
setter?.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformDelegate(transformer, data)
|
||||
transformGetter(transformer, data)
|
||||
transformSetter(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -100,6 +100,11 @@ internal class FirPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
initializer = initializer?.transform(transformer, data)
|
||||
return this
|
||||
@@ -130,11 +135,6 @@ internal class FirPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
|
||||
+15
-15
@@ -34,12 +34,12 @@ internal class FirRegularClassImpl(
|
||||
override var resolvePhase: FirResolvePhase,
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val classKind: ClassKind,
|
||||
override val declarations: MutableList<FirDeclaration<*>>,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
override val scopeProvider: FirScopeProvider,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val name: Name,
|
||||
override val symbol: FirRegularClassSymbol,
|
||||
override var companionObject: FirRegularClass?,
|
||||
@@ -53,42 +53,42 @@ internal class FirRegularClassImpl(
|
||||
}
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
declarations.forEach { it.accept(visitor, data) }
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
declarations.forEach { it.accept(visitor, data) }
|
||||
superTypeRefs.forEach { it.accept(visitor, data) }
|
||||
}
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformDeclarations(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformDeclarations(transformer, data)
|
||||
companionObject = declarations.asSequence().filterIsInstance<FirRegularClass>().firstOrNull { it.status.isCompanion }
|
||||
transformSuperTypeRefs(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
status = status.transform(transformer, data)
|
||||
override fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
declarations.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformDeclarations(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
declarations.transformInplace(transformer, data)
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirRegularClassImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -38,11 +38,11 @@ internal class FirSimpleFunctionImpl(
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override var body: FirBlock?,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
override var body: FirBlock?,
|
||||
override var contractDescription: FirContractDescription,
|
||||
override val name: Name,
|
||||
override val symbol: FirNamedFunctionSymbol,
|
||||
@@ -58,10 +58,10 @@ internal class FirSimpleFunctionImpl(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
body?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
contractDescription.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
@@ -70,10 +70,10 @@ internal class FirSimpleFunctionImpl(
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformContractDescription(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
@@ -90,6 +90,11 @@ internal class FirSimpleFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -100,11 +105,6 @@ internal class FirSimpleFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformContractDescription(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
contractDescription = contractDescription.transform(transformer, data)
|
||||
return this
|
||||
|
||||
+20
@@ -9,16 +9,21 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirDelegateFieldSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -33,6 +38,8 @@ internal class FirValueParameterImpl(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
override val symbol: FirVariableSymbol<FirValueParameter>,
|
||||
override val annotations: MutableList<FirAnnotationCall>,
|
||||
@@ -42,6 +49,8 @@ internal class FirValueParameterImpl(
|
||||
override val isVararg: Boolean,
|
||||
) : FirValueParameter() {
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override val typeParameters: List<FirTypeParameterRef> get() = emptyList()
|
||||
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
override val initializer: FirExpression? get() = null
|
||||
override val delegate: FirExpression? get() = null
|
||||
override val delegateFieldSymbol: FirDelegateFieldSymbol<FirValueParameter>? get() = null
|
||||
@@ -58,6 +67,7 @@ internal class FirValueParameterImpl(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
defaultValue?.accept(visitor, data)
|
||||
@@ -65,6 +75,7 @@ internal class FirValueParameterImpl(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformOtherChildren(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -78,6 +89,15 @@ internal class FirValueParameterImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirStatusOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
@@ -223,8 +223,8 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(typeParametersOwner, data)
|
||||
}
|
||||
|
||||
open fun <E : FirMemberDeclaration<E>> transformMemberDeclaration(memberDeclaration: FirMemberDeclaration<E>, data: D): FirMemberDeclaration<E> {
|
||||
return transformElement(memberDeclaration, data)
|
||||
open fun transformStatusOwner(statusOwner: FirStatusOwner, data: D): FirStatusOwner {
|
||||
return transformElement(statusOwner, data)
|
||||
}
|
||||
|
||||
open fun <E : FirCallableMemberDeclaration<E>> transformCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration<E>, data: D): FirCallableMemberDeclaration<E> {
|
||||
@@ -735,8 +735,8 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformTypeParametersOwner(typeParametersOwner, data)
|
||||
}
|
||||
|
||||
final override fun <E : FirMemberDeclaration<E>> visitMemberDeclaration(memberDeclaration: FirMemberDeclaration<E>, data: D): FirMemberDeclaration<E> {
|
||||
return transformMemberDeclaration(memberDeclaration, data)
|
||||
final override fun visitStatusOwner(statusOwner: FirStatusOwner, data: D): FirStatusOwner {
|
||||
return transformStatusOwner(statusOwner, data)
|
||||
}
|
||||
|
||||
final override fun <E : FirCallableMemberDeclaration<E>> visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration<E>, data: D): FirCallableMemberDeclaration<E> {
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirStatusOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
@@ -182,7 +182,7 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitElement(typeParametersOwner, data)
|
||||
|
||||
open fun <E : FirMemberDeclaration<E>> visitMemberDeclaration(memberDeclaration: FirMemberDeclaration<E>, data: D): R = visitElement(memberDeclaration, data)
|
||||
open fun visitStatusOwner(statusOwner: FirStatusOwner, data: D): R = visitElement(statusOwner, data)
|
||||
|
||||
open fun <E : FirCallableMemberDeclaration<E>> visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration<E>, data: D): R = visitElement(callableMemberDeclaration, data)
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirStatusOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
@@ -222,8 +222,8 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(typeParametersOwner)
|
||||
}
|
||||
|
||||
open fun <E : FirMemberDeclaration<E>> visitMemberDeclaration(memberDeclaration: FirMemberDeclaration<E>) {
|
||||
visitElement(memberDeclaration)
|
||||
open fun visitStatusOwner(statusOwner: FirStatusOwner) {
|
||||
visitElement(statusOwner)
|
||||
}
|
||||
|
||||
open fun <E : FirCallableMemberDeclaration<E>> visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration<E>) {
|
||||
@@ -734,8 +734,8 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitTypeParametersOwner(typeParametersOwner)
|
||||
}
|
||||
|
||||
final override fun <E : FirMemberDeclaration<E>> visitMemberDeclaration(memberDeclaration: FirMemberDeclaration<E>, data: Nothing?) {
|
||||
visitMemberDeclaration(memberDeclaration)
|
||||
final override fun visitStatusOwner(statusOwner: FirStatusOwner, data: Nothing?) {
|
||||
visitStatusOwner(statusOwner)
|
||||
}
|
||||
|
||||
final override fun <E : FirCallableMemberDeclaration<E>> visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration<E>, data: Nothing?) {
|
||||
|
||||
@@ -194,6 +194,10 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
print(")")
|
||||
}
|
||||
|
||||
fun renderAnnotations(annotationContainer: FirAnnotationContainer) {
|
||||
annotationContainer.annotations.renderAnnotations()
|
||||
}
|
||||
|
||||
private fun List<FirAnnotationCall>.renderAnnotations() {
|
||||
if (!mode.renderAnnotation) return
|
||||
for (annotation in this) {
|
||||
@@ -211,10 +215,10 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
}
|
||||
|
||||
override fun <F : FirCallableDeclaration<F>> visitCallableDeclaration(callableDeclaration: FirCallableDeclaration<F>) {
|
||||
if (callableDeclaration is FirMemberDeclaration<*>) {
|
||||
visitMemberDeclaration(callableDeclaration)
|
||||
callableDeclaration.annotations.renderAnnotations()
|
||||
if (callableDeclaration is FirStatusOwner) {
|
||||
visitStatusOwner(callableDeclaration)
|
||||
} else {
|
||||
callableDeclaration.annotations.renderAnnotations()
|
||||
visitTypedDeclaration(callableDeclaration)
|
||||
}
|
||||
val receiverType = callableDeclaration.receiverTypeRef
|
||||
@@ -268,7 +272,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
return itself + "[${effectiveVisibility.name}]"
|
||||
}
|
||||
|
||||
private fun FirMemberDeclaration<*>.modalityAsString(): String {
|
||||
private fun FirStatusOwner.modalityAsString(): String {
|
||||
return modality?.name?.toLowerCaseAsciiOnly() ?: run {
|
||||
if (this is FirCallableMemberDeclaration<*> && this.isOverride) {
|
||||
"open?"
|
||||
@@ -298,87 +302,86 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
typeParameterRef.symbol.fir.accept(this)
|
||||
}
|
||||
|
||||
override fun <E : FirMemberDeclaration<E>> visitMemberDeclaration(memberDeclaration: FirMemberDeclaration<E>) {
|
||||
memberDeclaration.annotations.renderAnnotations()
|
||||
if (memberDeclaration !is FirProperty || !memberDeclaration.isLocal) {
|
||||
override fun visitStatusOwner(statusOwner: FirStatusOwner) {
|
||||
if (statusOwner !is FirProperty || !statusOwner.isLocal) {
|
||||
// we can't access session.effectiveVisibilityResolver from here!
|
||||
// print(memberDeclaration.visibility.asString(memberDeclaration.getEffectiveVisibility(...)) + " ")
|
||||
print(memberDeclaration.visibility.asString() + " ")
|
||||
print(memberDeclaration.modalityAsString() + " ")
|
||||
print(statusOwner.visibility.asString() + " ")
|
||||
print(statusOwner.modalityAsString() + " ")
|
||||
}
|
||||
if (memberDeclaration.isExpect) {
|
||||
if (statusOwner.isExpect) {
|
||||
print("expect ")
|
||||
}
|
||||
if (memberDeclaration.isActual) {
|
||||
if (statusOwner.isActual) {
|
||||
print("actual ")
|
||||
}
|
||||
if (memberDeclaration.isExternal) {
|
||||
if (statusOwner.isExternal) {
|
||||
print("external ")
|
||||
}
|
||||
if (memberDeclaration.isOverride) {
|
||||
if (statusOwner.isOverride) {
|
||||
print("override ")
|
||||
}
|
||||
if (memberDeclaration.isStatic) {
|
||||
if (statusOwner.isStatic) {
|
||||
print("static ")
|
||||
}
|
||||
if (memberDeclaration.isInner) {
|
||||
if (statusOwner.isInner) {
|
||||
print("inner ")
|
||||
}
|
||||
|
||||
// `companion/data/fun` modifiers are only valid for FirRegularClass, but we render them to make sure they are not
|
||||
// incorrectly loaded for other declarations during deserialization.
|
||||
if (memberDeclaration.status.isCompanion) {
|
||||
if (statusOwner.status.isCompanion) {
|
||||
print("companion ")
|
||||
}
|
||||
if (memberDeclaration.status.isData) {
|
||||
if (statusOwner.status.isData) {
|
||||
print("data ")
|
||||
}
|
||||
// All Java interfaces are considered `fun` (functional interfaces) for resolution purposes
|
||||
// (see JavaSymbolProvider.createFirJavaClass). Don't render `fun` for Java interfaces; it's not a modifier in Java.
|
||||
val isJavaInterface =
|
||||
memberDeclaration is FirRegularClass && memberDeclaration.classKind == ClassKind.INTERFACE && memberDeclaration.isJava
|
||||
if (memberDeclaration.status.isFun && !isJavaInterface) {
|
||||
statusOwner is FirRegularClass && statusOwner.classKind == ClassKind.INTERFACE && statusOwner.isJava
|
||||
if (statusOwner.status.isFun && !isJavaInterface) {
|
||||
print("fun ")
|
||||
}
|
||||
|
||||
if (memberDeclaration.isInline) {
|
||||
if (statusOwner.isInline) {
|
||||
print("inline ")
|
||||
}
|
||||
if (memberDeclaration.isOperator) {
|
||||
if (statusOwner.isOperator) {
|
||||
print("operator ")
|
||||
}
|
||||
if (memberDeclaration.isInfix) {
|
||||
if (statusOwner.isInfix) {
|
||||
print("infix ")
|
||||
}
|
||||
if (memberDeclaration.isTailRec) {
|
||||
if (statusOwner.isTailRec) {
|
||||
print("tailrec ")
|
||||
}
|
||||
if (memberDeclaration.isSuspend) {
|
||||
if (statusOwner.isSuspend) {
|
||||
print("suspend ")
|
||||
}
|
||||
if (memberDeclaration.isConst) {
|
||||
if (statusOwner.isConst) {
|
||||
print("const ")
|
||||
}
|
||||
if (memberDeclaration.isLateInit) {
|
||||
if (statusOwner.isLateInit) {
|
||||
print("lateinit ")
|
||||
}
|
||||
|
||||
visitDeclaration(memberDeclaration)
|
||||
when (memberDeclaration) {
|
||||
visitDeclaration(statusOwner as FirDeclaration<*>)
|
||||
when (statusOwner) {
|
||||
is FirClassLikeDeclaration<*> -> {
|
||||
if (memberDeclaration is FirRegularClass) {
|
||||
print(" " + memberDeclaration.name)
|
||||
if (statusOwner is FirRegularClass) {
|
||||
print(" " + statusOwner.name)
|
||||
}
|
||||
if (memberDeclaration is FirTypeAlias) {
|
||||
print(" " + memberDeclaration.name)
|
||||
if (statusOwner is FirTypeAlias) {
|
||||
print(" " + statusOwner.name)
|
||||
}
|
||||
memberDeclaration.typeParameters.renderTypeParameters()
|
||||
statusOwner.typeParameters.renderTypeParameters()
|
||||
}
|
||||
is FirCallableDeclaration<*> -> {
|
||||
// Name is handled by visitCallableDeclaration
|
||||
if (memberDeclaration.typeParameters.isNotEmpty()) {
|
||||
if (statusOwner.typeParameters.isNotEmpty()) {
|
||||
print(" ")
|
||||
memberDeclaration.typeParameters.renderTypeParameters()
|
||||
statusOwner.typeParameters.renderTypeParameters()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -466,7 +469,8 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
}
|
||||
|
||||
override fun visitRegularClass(regularClass: FirRegularClass) {
|
||||
visitMemberDeclaration(regularClass)
|
||||
regularClass.annotations.renderAnnotations()
|
||||
visitStatusOwner(regularClass)
|
||||
renderSupertypes(regularClass)
|
||||
regularClass.declarations.renderDeclarations()
|
||||
}
|
||||
@@ -643,7 +647,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
|
||||
override fun visitTypeAlias(typeAlias: FirTypeAlias) {
|
||||
typeAlias.annotations.renderAnnotations()
|
||||
visitMemberDeclaration(typeAlias)
|
||||
visitStatusOwner(typeAlias)
|
||||
print(" = ")
|
||||
typeAlias.expandedTypeRef.accept(this)
|
||||
println()
|
||||
|
||||
@@ -43,7 +43,6 @@ inline val FirClass<*>.isInterface: Boolean
|
||||
inline val FirClass<*>.isEnumClass: Boolean
|
||||
get() = classKind == ClassKind.ENUM_CLASS
|
||||
|
||||
inline val FirRegularClass.modality get() = status.modality
|
||||
inline val FirRegularClass.isSealed get() = status.modality == Modality.SEALED
|
||||
inline val FirRegularClass.isAbstract get() = status.modality == Modality.ABSTRACT
|
||||
inline val FirRegularClass.isFun get() = status.isFun
|
||||
@@ -53,46 +52,45 @@ inline val FirRegularClass.isData get() = status.isData
|
||||
inline val FirRegularClass.canHaveAbstractDeclaration: Boolean
|
||||
get() = isAbstract || isSealed || isEnumClass
|
||||
|
||||
inline val FirMemberDeclaration<*>.modality get() = status.modality
|
||||
inline val FirMemberDeclaration<*>.isAbstract get() = status.modality == Modality.ABSTRACT
|
||||
inline val FirMemberDeclaration<*>.isOpen get() = status.modality == Modality.OPEN
|
||||
inline val FirMemberDeclaration<*>.isFinal: Boolean
|
||||
inline val FirStatusOwner.modality get() = status.modality
|
||||
inline val FirStatusOwner.isAbstract get() = status.modality == Modality.ABSTRACT
|
||||
inline val FirStatusOwner.isOpen get() = status.modality == Modality.OPEN
|
||||
inline val FirStatusOwner.isFinal: Boolean
|
||||
get() {
|
||||
// member with unspecified modality is final
|
||||
val modality = status.modality ?: return true
|
||||
return modality == Modality.FINAL
|
||||
}
|
||||
|
||||
inline val FirMemberDeclaration<*>.visibility: Visibility get() = status.visibility
|
||||
inline val FirMemberDeclaration<*>.effectiveVisibility: EffectiveVisibility
|
||||
inline val FirStatusOwner.visibility: Visibility get() = status.visibility
|
||||
inline val FirStatusOwner.effectiveVisibility: EffectiveVisibility
|
||||
get() = (status as? FirResolvedDeclarationStatus)?.effectiveVisibility
|
||||
?: error("Effective visibility for ${render(FirRenderer.RenderMode.NoBodies)} must be resolved")
|
||||
|
||||
inline val FirMemberDeclaration<*>.allowsToHaveFakeOverride: Boolean
|
||||
inline val FirStatusOwner.allowsToHaveFakeOverride: Boolean
|
||||
get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.InvisibleFake
|
||||
|
||||
inline val FirMemberDeclaration<*>.isActual get() = status.isActual
|
||||
inline val FirMemberDeclaration<*>.isExpect get() = status.isExpect
|
||||
inline val FirMemberDeclaration<*>.isInner get() = status.isInner
|
||||
inline val FirMemberDeclaration<*>.isStatic get() = status.isStatic
|
||||
inline val FirMemberDeclaration<*>.isOverride: Boolean get() = status.isOverride
|
||||
inline val FirMemberDeclaration<*>.isOperator: Boolean get() = status.isOperator
|
||||
inline val FirMemberDeclaration<*>.isInfix: Boolean get() = status.isInfix
|
||||
inline val FirMemberDeclaration<*>.isInline: Boolean get() = status.isInline
|
||||
inline val FirMemberDeclaration<*>.isTailRec: Boolean get() = status.isTailRec
|
||||
inline val FirMemberDeclaration<*>.isExternal: Boolean get() = status.isExternal
|
||||
inline val FirMemberDeclaration<*>.isSuspend: Boolean get() = status.isSuspend
|
||||
inline val FirMemberDeclaration<*>.isConst: Boolean get() = status.isConst
|
||||
inline val FirMemberDeclaration<*>.isLateInit: Boolean get() = status.isLateInit
|
||||
inline val FirMemberDeclaration<*>.isFromSealedClass: Boolean get() = status.isFromSealedClass
|
||||
inline val FirMemberDeclaration<*>.isFromEnumClass: Boolean get() = status.isFromEnumClass
|
||||
inline val FirMemberDeclaration<*>.isFun: Boolean get() = status.isFun
|
||||
inline val FirStatusOwner.isActual: Boolean get() = status.isActual
|
||||
inline val FirStatusOwner.isExpect: Boolean get() = status.isExpect
|
||||
inline val FirStatusOwner.isInner: Boolean get() = status.isInner
|
||||
inline val FirStatusOwner.isStatic: Boolean get() = status.isStatic
|
||||
inline val FirStatusOwner.isOverride: Boolean get() = status.isOverride
|
||||
inline val FirStatusOwner.isOperator: Boolean get() = status.isOperator
|
||||
inline val FirStatusOwner.isInfix: Boolean get() = status.isInfix
|
||||
inline val FirStatusOwner.isInline: Boolean get() = status.isInline
|
||||
inline val FirStatusOwner.isTailRec: Boolean get() = status.isTailRec
|
||||
inline val FirStatusOwner.isExternal: Boolean get() = status.isExternal
|
||||
inline val FirStatusOwner.isSuspend: Boolean get() = status.isSuspend
|
||||
inline val FirStatusOwner.isConst: Boolean get() = status.isConst
|
||||
inline val FirStatusOwner.isLateInit: Boolean get() = status.isLateInit
|
||||
inline val FirStatusOwner.isFromSealedClass: Boolean get() = status.isFromSealedClass
|
||||
inline val FirStatusOwner.isFromEnumClass: Boolean get() = status.isFromEnumClass
|
||||
inline val FirStatusOwner.isFun: Boolean get() = status.isFun
|
||||
|
||||
inline val FirFunction<*>.hasBody get() = body != null
|
||||
|
||||
inline val FirPropertyAccessor.modality get() = status.modality
|
||||
inline val FirPropertyAccessor.visibility get() = status.visibility
|
||||
inline val FirPropertyAccessor.isInline get() = status.isInline
|
||||
inline val FirPropertyAccessor.isExternal get() = status.isExternal
|
||||
inline val FirPropertyAccessor.hasBody get() = body != null
|
||||
|
||||
@@ -190,7 +188,7 @@ var FirRegularClass.moduleName: String? by FirDeclarationDataRegistry.data(Modul
|
||||
|
||||
var FirTypeAlias.sourceElement: SourceElement? by FirDeclarationDataRegistry.data(SourceElementKey)
|
||||
|
||||
val FirMemberDeclaration<*>.containerSource: SourceElement?
|
||||
val FirStatusOwner.containerSource: SourceElement?
|
||||
get() = when (this) {
|
||||
is FirCallableMemberDeclaration<*> -> containerSource
|
||||
is FirRegularClass -> sourceElement
|
||||
|
||||
+8
-6
@@ -9,10 +9,10 @@ import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRefComparator
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration<*>> {
|
||||
object FirMemberDeclarationComparator : Comparator<FirStatusOwner> {
|
||||
// Comparing different kinds of callable members by assigning distinct priorities to those members.
|
||||
object TypeAndNameComparator : Comparator<FirMemberDeclaration<*>> {
|
||||
private val FirMemberDeclaration<*>.priority: Int
|
||||
object TypeAndNameComparator : Comparator<FirStatusOwner> {
|
||||
private val FirStatusOwner.priority: Int
|
||||
get() = when (this) {
|
||||
is FirEnumEntry -> 7
|
||||
is FirConstructor -> 6
|
||||
@@ -21,9 +21,11 @@ object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration<*>> {
|
||||
is FirFunction<*> -> 3
|
||||
is FirClass<*> -> 2
|
||||
is FirTypeAlias -> 1
|
||||
is FirErrorProperty -> 0
|
||||
is FirValueParameter -> 0
|
||||
}
|
||||
|
||||
private val FirMemberDeclaration<*>.name: Name
|
||||
private val FirStatusOwner.name: Name
|
||||
get() = when (this) {
|
||||
is FirCallableMemberDeclaration<*> ->
|
||||
this.symbol.callableId.callableName
|
||||
@@ -33,7 +35,7 @@ object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration<*>> {
|
||||
this.name
|
||||
}
|
||||
|
||||
override fun compare(a: FirMemberDeclaration<*>, b: FirMemberDeclaration<*>): Int {
|
||||
override fun compare(a: FirStatusOwner, b: FirStatusOwner): Int {
|
||||
val priorityDiff = a.priority - b.priority
|
||||
if (priorityDiff != 0) {
|
||||
return priorityDiff
|
||||
@@ -50,7 +52,7 @@ object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration<*>> {
|
||||
}
|
||||
}
|
||||
|
||||
override fun compare(a: FirMemberDeclaration<*>, b: FirMemberDeclaration<*>): Int {
|
||||
override fun compare(a: FirStatusOwner, b: FirStatusOwner): Int {
|
||||
if (a is FirCallableMemberDeclaration<*> && b is FirCallableMemberDeclaration<*>) {
|
||||
return FirCallableMemberDeclarationComparator.compare(a, b)
|
||||
}
|
||||
|
||||
+2
-2
@@ -41,14 +41,14 @@ abstract class FirDefaultPropertyAccessor(
|
||||
origin,
|
||||
FirDeclarationAttributes(),
|
||||
propertyTypeRef,
|
||||
valueParameters,
|
||||
body = null,
|
||||
status = if (effectiveVisibility == null)
|
||||
FirDeclarationStatusImpl(visibility, Modality.FINAL)
|
||||
else
|
||||
FirResolvedDeclarationStatusImpl(visibility, Modality.FINAL, effectiveVisibility),
|
||||
containerSource = null,
|
||||
dispatchReceiverType = null,
|
||||
valueParameters,
|
||||
body = null,
|
||||
contractDescription = FirEmptyContractDescription,
|
||||
symbol,
|
||||
isGetter,
|
||||
|
||||
+9
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.fir.declarations.impl
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.EffectiveVisibility
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.fir.declarations.FirResolvedDeclarationStatus
|
||||
|
||||
@@ -16,6 +17,14 @@ class FirResolvedDeclarationStatusImpl(
|
||||
override val effectiveVisibility: EffectiveVisibility
|
||||
) : FirDeclarationStatusImpl(visibility, modality), FirResolvedDeclarationStatus {
|
||||
|
||||
companion object {
|
||||
val DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS = FirResolvedDeclarationStatusImpl(
|
||||
Visibilities.Public,
|
||||
Modality.FINAL,
|
||||
EffectiveVisibility.Public
|
||||
)
|
||||
}
|
||||
|
||||
internal constructor(
|
||||
visibility: Visibility,
|
||||
modality: Modality,
|
||||
|
||||
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.symbols.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirStatusOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
@@ -18,7 +18,7 @@ abstract class FirCallableSymbol<D : FirCallableDeclaration<D>> : FirBasedSymbol
|
||||
override fun toString(): String = "${this::class.simpleName} $callableId"
|
||||
}
|
||||
|
||||
val FirCallableSymbol<*>.isStatic: Boolean get() = (fir as? FirMemberDeclaration<*>)?.status?.isStatic == true
|
||||
val FirCallableSymbol<*>.isStatic: Boolean get() = (fir as? FirStatusOwner)?.status?.isStatic == true
|
||||
|
||||
val FirCallableSymbol<*>.isExtension: Boolean
|
||||
get() = when (fir) {
|
||||
|
||||
+14
-14
@@ -35,26 +35,26 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration)
|
||||
val typeParameterRefsOwner = sealedElement("TypeParameterRefsOwner", Declaration)
|
||||
val typeParametersOwner = sealedElement("TypeParametersOwner", Declaration, typeParameterRefsOwner)
|
||||
val memberDeclaration = sealedElement("MemberDeclaration", Declaration, annotatedDeclaration, typeParameterRefsOwner)
|
||||
val callableMemberDeclaration = sealedElement("CallableMemberDeclaration", Declaration, callableDeclaration, memberDeclaration)
|
||||
val statusOwner = sealedElement("StatusOwner", Declaration, typeParameterRefsOwner)
|
||||
val callableMemberDeclaration = sealedElement("CallableMemberDeclaration", Declaration, callableDeclaration, statusOwner)
|
||||
|
||||
val variable = sealedElement("Variable", Declaration, callableDeclaration, annotatedDeclaration, statement)
|
||||
val variable = sealedElement("Variable", Declaration, callableMemberDeclaration, statement)
|
||||
val valueParameter = element("ValueParameter", Declaration, variable, controlFlowGraphOwner)
|
||||
val property = element("Property", Declaration, variable, typeParametersOwner, controlFlowGraphOwner, callableMemberDeclaration)
|
||||
val field = element("Field", Declaration, variable, typeParametersOwner, callableMemberDeclaration)
|
||||
val enumEntry = element("EnumEntry", Declaration, variable, callableMemberDeclaration)
|
||||
val property = element("Property", Declaration, variable, typeParametersOwner, controlFlowGraphOwner)
|
||||
val field = element("Field", Declaration, variable)
|
||||
val enumEntry = element("EnumEntry", Declaration, variable)
|
||||
|
||||
val classLikeDeclaration = sealedElement("ClassLikeDeclaration", Declaration, annotatedDeclaration, statement)
|
||||
val klass = sealedElement("Class", Declaration, classLikeDeclaration, statement, typeParameterRefsOwner)
|
||||
val regularClass = element("RegularClass", Declaration, memberDeclaration, typeParameterRefsOwner, controlFlowGraphOwner, klass)
|
||||
val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, memberDeclaration, typeParametersOwner)
|
||||
val regularClass = element("RegularClass", Declaration, klass, statusOwner, controlFlowGraphOwner)
|
||||
val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, statusOwner, typeParametersOwner)
|
||||
|
||||
val function = sealedElement("Function", Declaration, callableDeclaration, targetElement, typeParameterRefsOwner, controlFlowGraphOwner, statement)
|
||||
val function = sealedElement("Function", Declaration, callableMemberDeclaration, targetElement, controlFlowGraphOwner, statement)
|
||||
|
||||
val contractDescriptionOwner = sealedElement("ContractDescriptionOwner", Declaration)
|
||||
val simpleFunction = element("SimpleFunction", Declaration, function, callableMemberDeclaration, contractDescriptionOwner, typeParametersOwner)
|
||||
val propertyAccessor = element("PropertyAccessor", Declaration, function, callableMemberDeclaration, contractDescriptionOwner, typeParametersOwner)
|
||||
val constructor = element("Constructor", Declaration, function, callableMemberDeclaration, typeParameterRefsOwner)
|
||||
val simpleFunction = element("SimpleFunction", Declaration, function, contractDescriptionOwner, typeParametersOwner)
|
||||
val propertyAccessor = element("PropertyAccessor", Declaration, function, contractDescriptionOwner, typeParametersOwner)
|
||||
val constructor = element("Constructor", Declaration, function, typeParameterRefsOwner)
|
||||
val file = element("File", Declaration, annotatedDeclaration)
|
||||
|
||||
val anonymousFunction = element("AnonymousFunction", Declaration, function, typeParametersOwner)
|
||||
@@ -103,8 +103,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val arraySetCall = element("AugmentedArraySetCall", Expression, statement)
|
||||
val classReferenceExpression = element("ClassReferenceExpression", Expression, expression)
|
||||
val errorExpression = element("ErrorExpression", Expression, expression, diagnosticHolder)
|
||||
val errorFunction = element("ErrorFunction", Declaration, function, diagnosticHolder, typeParametersOwner)
|
||||
val errorProperty = element("ErrorProperty", Declaration, variable, diagnosticHolder, typeParametersOwner)
|
||||
val errorFunction = element("ErrorFunction", Declaration, function, diagnosticHolder)
|
||||
val errorProperty = element("ErrorProperty", Declaration, variable, diagnosticHolder)
|
||||
val qualifiedAccessExpression = element("QualifiedAccessExpression", Expression, expression, qualifiedAccess)
|
||||
val functionCall = element("FunctionCall", Expression, qualifiedAccessExpression, call)
|
||||
val implicitInvokeCall = element("ImplicitInvokeCall", Expression, functionCall)
|
||||
|
||||
+24
@@ -500,6 +500,30 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
}
|
||||
|
||||
noImpl(argumentList)
|
||||
|
||||
val implementationsWithoutStatusAndTypeParameters = listOf(
|
||||
"FirAnonymousFunctionImpl",
|
||||
"FirValueParameterImpl",
|
||||
"FirDefaultSetterValueParameter",
|
||||
"FirErrorPropertyImpl",
|
||||
"FirErrorFunctionImpl"
|
||||
)
|
||||
|
||||
configureFieldInAllImplementations(
|
||||
"status",
|
||||
implementationPredicate = { it.type in implementationsWithoutStatusAndTypeParameters }
|
||||
) {
|
||||
default(it, "FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS")
|
||||
useTypes(resolvedDeclarationStatusImplType)
|
||||
}
|
||||
|
||||
configureFieldInAllImplementations(
|
||||
"typeParameters",
|
||||
implementationPredicate = { it.type != "FirAnonymousFunctionImpl" && it.type in implementationsWithoutStatusAndTypeParameters }
|
||||
) {
|
||||
defaultEmptyList(it)
|
||||
useTypes(resolvedDeclarationStatusImplType)
|
||||
}
|
||||
}
|
||||
|
||||
private fun configureAllImplementations() {
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ import java.io.File
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val generationPath = args.firstOrNull()?.let { File(it) }
|
||||
?: File("compiler/fir/tree/gen").absoluteFile
|
||||
?: File("../../tree/gen").canonicalFile
|
||||
|
||||
NodeConfigurator.configureFields()
|
||||
detectBaseTransformerTypes(FirTreeBuilder)
|
||||
|
||||
+5
-17
@@ -82,6 +82,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+field("resolvePhase", resolvePhaseType, withReplace = true).apply { isMutable = true }
|
||||
+field("origin", declarationOriginType)
|
||||
+field("attributes", declarationAttributesType)
|
||||
shouldBeAbstractClass()
|
||||
}
|
||||
|
||||
annotatedDeclaration.configure {
|
||||
@@ -105,14 +106,13 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
callableMemberDeclaration.configure {
|
||||
withArg("E", "FirCallableMemberDeclaration<E>")
|
||||
parentArg(callableDeclaration, "E", "E")
|
||||
parentArg(memberDeclaration, "E", "E")
|
||||
+field("containerSource", type(DeserializedContainerSource::class), nullable = true)
|
||||
+field("dispatchReceiverType", coneKotlinTypeType, nullable = true)
|
||||
}
|
||||
|
||||
function.configure {
|
||||
withArg("E", "FirFunction<E>")
|
||||
parentArg(callableDeclaration, "E", "E")
|
||||
parentArg(callableMemberDeclaration, "E", "E")
|
||||
+symbol("FirFunctionSymbol", "E")
|
||||
+fieldList(valueParameter, withReplace = true).withTransform()
|
||||
+body(nullable = true, withReplace = true).withTransform()
|
||||
@@ -124,10 +124,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+typeParameters
|
||||
}
|
||||
|
||||
memberDeclaration.configure {
|
||||
withArg("E", "FirMemberDeclaration<E>")
|
||||
parentArg(annotatedDeclaration, "E", "E")
|
||||
+typeParameterRefs
|
||||
statusOwner.configure {
|
||||
+status.withTransform()
|
||||
}
|
||||
|
||||
@@ -269,7 +266,6 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
regularClass.configure {
|
||||
parentArg(klass, "E", regularClass)
|
||||
parentArg(memberDeclaration, "E", regularClass)
|
||||
+name
|
||||
+symbol("FirRegularClassSymbol")
|
||||
+field("companionObject", regularClass, nullable = true).withTransform()
|
||||
@@ -289,7 +285,6 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
typeAlias.configure {
|
||||
+typeParameters
|
||||
parentArg(classLikeDeclaration, "E", typeAlias)
|
||||
parentArg(memberDeclaration, "E", typeAlias)
|
||||
+name
|
||||
+symbol("FirTypeAliasSymbol")
|
||||
+field("expandedTypeRef", typeRef, withReplace = true).withTransform()
|
||||
@@ -327,7 +322,6 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
simpleFunction.configure {
|
||||
parentArg(function, "E", simpleFunction)
|
||||
parentArg(callableMemberDeclaration, "E", simpleFunction)
|
||||
+name
|
||||
+symbol("FirNamedFunctionSymbol")
|
||||
+annotations
|
||||
@@ -340,16 +334,14 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
property.configure {
|
||||
parentArg(variable, "E", property)
|
||||
parentArg(callableMemberDeclaration, "E", property)
|
||||
+symbol("FirPropertySymbol")
|
||||
+field("backingFieldSymbol", backingFieldSymbolType)
|
||||
+booleanField("isLocal")
|
||||
+status
|
||||
+typeParameters
|
||||
}
|
||||
|
||||
propertyAccessor.configure {
|
||||
parentArg(function, "E", propertyAccessor)
|
||||
parentArg(callableMemberDeclaration, "E", propertyAccessor)
|
||||
+symbol("FirPropertyAccessorSymbol")
|
||||
+booleanField("isGetter")
|
||||
+booleanField("isSetter")
|
||||
@@ -374,7 +366,6 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
constructor.configure {
|
||||
parentArg(function, "E", constructor)
|
||||
parentArg(callableMemberDeclaration, "E", constructor)
|
||||
+annotations
|
||||
+symbol("FirConstructorSymbol")
|
||||
+field("delegatedConstructor", delegatedConstructorCall, nullable = true).withTransform()
|
||||
@@ -397,8 +388,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
variable.configure {
|
||||
withArg("E", variable)
|
||||
parentArg(callableDeclaration, "E", "E")
|
||||
parentArg(annotatedDeclaration, "E", "E")
|
||||
parentArg(callableMemberDeclaration, "E", "E")
|
||||
+name
|
||||
+symbol("FirVariableSymbol", "E")
|
||||
+initializer.withTransform().withReplace()
|
||||
@@ -418,12 +408,10 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
enumEntry.configure {
|
||||
parentArg(variable, "E", enumEntry)
|
||||
parentArg(callableMemberDeclaration, "E", enumEntry)
|
||||
}
|
||||
|
||||
field.configure {
|
||||
parentArg(variable, "E", field)
|
||||
parentArg(callableMemberDeclaration, "E", field)
|
||||
}
|
||||
|
||||
anonymousInitializer.configure {
|
||||
|
||||
@@ -91,3 +91,5 @@ val exhaustivenessStatusType = generatedType("expressions", "ExhaustivenessStatu
|
||||
val callableReferenceMappedArgumentsType = type("fir.resolve.calls", "CallableReferenceMappedArguments")
|
||||
|
||||
val functionCallOrigin = type("fir.expressions", "FirFunctionCallOrigin")
|
||||
|
||||
val resolvedDeclarationStatusImplType = type("fir.declarations.impl", "FirResolvedDeclarationStatusImpl")
|
||||
|
||||
+4
@@ -76,6 +76,10 @@ abstract class AbstractFieldConfigurator<T : AbstractFirTreeBuilder>(private val
|
||||
fun shouldBeAnInterface() {
|
||||
element.kind = Implementation.Kind.Interface
|
||||
}
|
||||
|
||||
fun shouldBeAbstractClass() {
|
||||
element.kind = Implementation.Kind.AbstractClass
|
||||
}
|
||||
}
|
||||
|
||||
fun Element.configure(block: ConfigureContext.() -> Unit) {
|
||||
|
||||
+8
-8
@@ -74,13 +74,13 @@ class Implementation(val element: Element, val name: String?) : FieldContainer,
|
||||
val fieldsWithoutDefault by lazy { allFields.filter { it.defaultValueInImplementation == null } }
|
||||
val fieldsWithDefault by lazy { allFields.filter { it.defaultValueInImplementation != null } }
|
||||
|
||||
enum class Kind(val title: String, val hasLeafBuilder: Boolean) {
|
||||
Interface("interface", false),
|
||||
FinalClass("class", true),
|
||||
OpenClass("open class", true),
|
||||
AbstractClass("abstract class", false),
|
||||
SealedClass("sealed class", false),
|
||||
SealedInterface("sealed interface", false),
|
||||
Object("object", false)
|
||||
enum class Kind(val title: String, val hasLeafBuilder: Boolean, val isInterface: Boolean) {
|
||||
Interface("interface", hasLeafBuilder = false, isInterface = true),
|
||||
FinalClass("class", hasLeafBuilder = true, isInterface = false),
|
||||
OpenClass("open class", hasLeafBuilder = true, isInterface = false),
|
||||
AbstractClass("abstract class", hasLeafBuilder = false, isInterface = false),
|
||||
SealedClass("sealed class", hasLeafBuilder = false, isInterface = false),
|
||||
SealedInterface("sealed interface", hasLeafBuilder = false, isInterface = true),
|
||||
Object("object", hasLeafBuilder = false, isInterface = false),
|
||||
}
|
||||
}
|
||||
|
||||
+39
-7
@@ -11,6 +11,17 @@ import org.jetbrains.kotlin.fir.tree.generator.model.Implementation
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.ImplementationWithArg
|
||||
import org.jetbrains.kotlin.fir.tree.generator.model.KindOwner
|
||||
|
||||
/*
|
||||
* Assume that we have element `E` with parents `P1, P2`
|
||||
*
|
||||
* Introduce variables E, P1, P2. If variable `X` is true then `X` is class, otherwise it is interface
|
||||
*
|
||||
* Build 2SAT function for it: (E || !P1) && (E || !P2) && (!P1 || !P2)
|
||||
* Simple explanation:
|
||||
* if `P1` is a class then `E` also should be a class
|
||||
* if `P1` is a class then `P2` can not be a class (because both of them a parents of E`
|
||||
*/
|
||||
|
||||
fun configureInterfacesAndAbstractClasses(builder: AbstractFirTreeBuilder) {
|
||||
val elements = collectElements(builder)
|
||||
val elementMapping = ElementMapping(elements)
|
||||
@@ -21,7 +32,7 @@ fun configureInterfacesAndAbstractClasses(builder: AbstractFirTreeBuilder) {
|
||||
updateSealedKinds(elements)
|
||||
}
|
||||
|
||||
private class ElementMapping(elements: Collection<KindOwner>) {
|
||||
private class ElementMapping(val elements: Collection<KindOwner>) {
|
||||
private val varToElements: Map<Int, KindOwner> = elements.mapIndexed { index, element -> 2 * index to element.origin }.toMap() +
|
||||
elements.mapIndexed { index, element -> 2 * index + 1 to element }.toMap()
|
||||
private val elementsToVar: Map<KindOwner, Int> = elements.mapIndexed { index, element -> element.origin to index }.toMap()
|
||||
@@ -89,17 +100,38 @@ private fun updateSealedKinds(elements: Collection<KindOwner>) {
|
||||
}
|
||||
|
||||
private fun processRequirementsFromConfig(solution: MutableList<Boolean>, elementMapping: ElementMapping) {
|
||||
fun processParents(element: KindOwner) {
|
||||
fun forceParentsToBeInterfaces(element: KindOwner) {
|
||||
val origin = element.origin
|
||||
solution[elementMapping[origin]] = false
|
||||
origin.allParents.forEach { processParents(it) }
|
||||
val index = elementMapping[origin]
|
||||
if (!solution[index]) return
|
||||
solution[index] = false
|
||||
origin.allParents.forEach { forceParentsToBeInterfaces(it) }
|
||||
}
|
||||
|
||||
fun forceInheritorsToBeClasses(element: KindOwner) {
|
||||
val queue = ArrayDeque<KindOwner>()
|
||||
queue.add(element)
|
||||
while (queue.isNotEmpty()) {
|
||||
val e = queue.removeFirst().origin
|
||||
val index = elementMapping[e]
|
||||
if (solution[index]) continue
|
||||
solution[index] = true
|
||||
for (inheritor in elementMapping.elements) {
|
||||
if (e in inheritor.allParents.map { it.origin }) {
|
||||
queue.add(inheritor)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (index in solution.indices) {
|
||||
val element = elementMapping[index * 2]
|
||||
if (element.kind != Implementation.Kind.Interface) continue
|
||||
if (!solution[index]) continue
|
||||
processParents(element)
|
||||
val kind = element.kind ?: continue
|
||||
if (kind.isInterface) {
|
||||
forceParentsToBeInterfaces(element)
|
||||
} else {
|
||||
forceInheritorsToBeClasses(element)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user