From e977c1c076daed20508754db2cd0fcd558c89319 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Mon, 3 Feb 2020 16:43:17 +0300 Subject: [PATCH] Get rid of name in FirConstructor --- .../fir/backend/Fir2IrDeclarationStorage.kt | 2 +- .../kotlin/fir/backend/Fir2IrVisitor.kt | 13 +++++---- .../java/declarations/FirJavaConstructor.kt | 1 - .../fir/java/declarations/FirJavaMethod.kt | 2 +- .../KotlinDeserializedJvmSymbolsProvider.kt | 29 +++++++------------ .../java/scopes/JavaClassEnhancementScope.kt | 4 +-- .../converter/DeclarationsConverter.kt | 8 ++--- .../kotlin/fir/builder/DataClassUtils.kt | 4 +-- .../kotlin/fir/builder/RawFirBuilder.kt | 8 ++--- .../deserialization/ClassDeserialization.kt | 4 +-- .../deserialization/FirMemberDeserializer.kt | 4 +-- .../kotlin/fir/resolve/SamResolution.kt | 12 ++++++-- .../dfa/cfg/ControlFlowGraphBuilder.kt | 3 +- .../dfa/cfg/ControlFlowGraphRenderer.kt | 2 +- .../resolve/impl/FirBuiltinSymbolProvider.kt | 14 ++++++--- .../impl/AbstractFirUseSiteMemberScope.kt | 2 +- .../impl/FirClassDeclaredMemberScope.kt | 9 +++--- .../scopes/impl/FirClassSubstitutionScope.kt | 2 +- .../scopes/impl/FirIntegerLiteralTypeScope.kt | 2 +- .../FirCallableMemberDeclaration.kt | 2 -- .../kotlin/fir/declarations/FirConstructor.kt | 2 -- .../fir/declarations/FirMemberDeclaration.kt | 2 -- .../fir/declarations/FirRegularClass.kt | 2 +- .../kotlin/fir/declarations/FirSealedClass.kt | 2 +- .../fir/declarations/FirSimpleFunction.kt | 2 +- .../kotlin/fir/declarations/FirTypeAlias.kt | 2 +- .../fir/declarations/impl/FirClassImpl.kt | 2 +- .../declarations/impl/FirConstructorImpl.kt | 2 -- .../impl/FirModifiableConstructor.kt | 2 -- .../impl/FirModifiableRegularClass.kt | 2 +- .../declarations/impl/FirSealedClassImpl.kt | 2 +- .../impl/FirSimpleFunctionImpl.kt | 2 +- .../fir/declarations/impl/FirTypeAliasImpl.kt | 2 +- .../jetbrains/kotlin/fir/EnumClassUtils.kt | 4 +-- .../org/jetbrains/kotlin/fir/FirRenderer.kt | 9 ++++-- .../generator/ImplementationConfigurator.kt | 1 - .../fir/tree/generator/NodeConfigurator.kt | 4 ++- 37 files changed, 85 insertions(+), 86 deletions(-) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt index 91e936148bb..cea25b1150b 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrDeclarationStorage.kt @@ -509,7 +509,7 @@ class Fir2IrDeclarationStorage( irSymbolTable.declareConstructor(startOffset, endOffset, origin, descriptor) { symbol -> IrConstructorImpl( startOffset, endOffset, origin, symbol, - constructor.name, visibility, + Name.special(""), visibility, constructor.returnTypeRef.toIrType(session, this), isInline = false, isExternal = false, isPrimary = isPrimary, isExpect = false ).bindAndDeclareParameters(constructor, descriptor, irParent, isStatic = true, shouldLeaveScope = shouldLeaveScope) diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt index 81ed461eaac..34e9de90e50 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/Fir2IrVisitor.kt @@ -183,8 +183,9 @@ class Fir2IrVisitor( is FirClassSymbol -> { val superClass = superSymbol.fir as FirClass<*> for (declaration in superClass.declarations) { - if (declaration is FirMemberDeclaration && (declaration is FirSimpleFunction || declaration is FirProperty)) { - result += declaration.name + when (declaration) { + is FirSimpleFunction -> result += declaration.name + is FirVariable<*> -> result += declaration.name } } superClass.collectCallableNamesFromSupertypes(result) @@ -288,8 +289,9 @@ class Fir2IrVisitor( if (it !is FirConstructor || !it.isPrimary) { val irDeclaration = it.toIrDeclaration() ?: return@forEach declarations += irDeclaration - if (it is FirMemberDeclaration && (it is FirSimpleFunction || it is FirProperty)) { - processedCallableNames += it.name + when (it) { + is FirSimpleFunction -> processedCallableNames += it.name + is FirProperty -> processedCallableNames += it.name } } } @@ -439,7 +441,8 @@ class Fir2IrVisitor( classId.shortClassName ) { when { - it !is FirConstructorSymbol -> {} + it !is FirConstructorSymbol -> { + } arguments.size <= it.fir.valueParameters.size && constructorSymbol == null -> { constructorSymbol = it } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt index 7e261beacc5..ad8054fb988 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaConstructor.kt @@ -39,7 +39,6 @@ class FirJavaConstructor( ) : FirPureAbstractElement(), FirAbstractAnnotatedElement, FirConstructor { override val receiverTypeRef: FirTypeRef? get() = null override val typeParameters: MutableList = mutableListOf() - override val name: Name get() = CONSTRUCTOR_NAME override val annotations: MutableList = mutableListOf() override var status: FirDeclarationStatus = FirDeclarationStatusImpl(visibility, Modality.FINAL).apply { diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaMethod.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaMethod.kt index 3e5b2b1b775..756a6752cfa 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaMethod.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaMethod.kt @@ -30,7 +30,6 @@ class FirJavaMethod( session, returnTypeRef, null, - name, FirDeclarationStatusImpl(visibility, modality).apply { this.isStatic = isStatic isExpect = false @@ -43,6 +42,7 @@ class FirJavaMethod( isExternal = false isSuspend = false }, + name, symbol ) { init { diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt index ab167c011e6..d33ddf2db2b 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/deserialization/KotlinDeserializedJvmSymbolsProvider.kt @@ -127,11 +127,6 @@ class KotlinDeserializedJvmSymbolsProvider( } } - private fun readData(kotlinClass: KotlinJvmBinaryClass, expectedKinds: Set): Array? { - val header = kotlinClass.classHeader - return (header.data ?: header.incompatibleData)?.takeIf { header.kind in expectedKinds } - } - private val KotlinJvmBinaryClass.incompatibility: IncompatibleVersionErrorData? get() { // TODO: skipMetadataVersionCheck @@ -202,9 +197,6 @@ class KotlinDeserializedJvmSymbolsProvider( private fun ClassId.toEnumEntryReferenceExpression(name: Name): FirExpression { return FirFunctionCallImpl(null).apply { - val entryClassId = createNestedClassId(name) - val entryLookupTag = ConeClassLikeLookupTagImpl(entryClassId) - val entryClassSymbol = entryLookupTag.toSymbol(this@KotlinDeserializedJvmSymbolsProvider.session) val entryCallableSymbol = this@KotlinDeserializedJvmSymbolsProvider.session.firSymbolProvider.getClassDeclaredCallableSymbols( this@toEnumEntryReferenceExpression, name @@ -219,7 +211,9 @@ class KotlinDeserializedJvmSymbolsProvider( else -> { FirErrorNamedReferenceImpl( null, - FirSimpleDiagnostic("Strange deserialized enum value: ${this@toEnumEntryReferenceExpression}.$name", DiagnosticKind.Java) + FirSimpleDiagnostic( + "Strange deserialized enum value: ${this@toEnumEntryReferenceExpression}.$name", DiagnosticKind.Java + ) ) } } @@ -416,20 +410,17 @@ class KotlinDeserializedJvmSymbolsProvider( getClassLikeSymbolByFqName(classId)?.fir as? FirRegularClass override fun getAllCallableNamesInClass(classId: ClassId): Set = - getClassDeclarations(classId) - .filterIsInstance() - .mapTo(mutableSetOf(), FirMemberDeclaration::name) + getClassDeclarations(classId).mapNotNullTo(mutableSetOf()) { + when (it) { + is FirSimpleFunction -> it.name + is FirVariable<*> -> it.name + else -> null + } + } override fun getNestedClassesNamesInClass(classId: ClassId): Set { return getClassDeclarations(classId).filterIsInstance().mapTo(mutableSetOf()) { it.name } } override fun getPackage(fqName: FqName): FqName? = null - - companion object { - private val KOTLIN_CLASS = setOf(KotlinClassHeader.Kind.CLASS) - - private val KOTLIN_FILE_FACADE_OR_MULTIFILE_CLASS_PART = - setOf(KotlinClassHeader.Kind.FILE_FACADE, KotlinClassHeader.Kind.MULTIFILE_CLASS_PART) - } } diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassEnhancementScope.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassEnhancementScope.kt index 62353327a61..c75febf0f6f 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassEnhancementScope.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/scopes/JavaClassEnhancementScope.kt @@ -222,8 +222,8 @@ class JavaClassEnhancementScope( this@JavaClassEnhancementScope.session, newReturnTypeRef, newReceiverTypeRef, - name, firMethod.status, + name, if (!isAccessor) FirNamedFunctionSymbol(methodId) else FirAccessorSymbol(callableId = propertyId!!, accessorId = methodId) ).apply { @@ -303,7 +303,7 @@ class JavaClassEnhancementScope( private val overrideBindCache = mutableMapOf?, List>>>() - private fun FirCallableMemberDeclaration<*>.overriddenMembers(): List> { + private fun FirSimpleFunction.overriddenMembers(): List> { val backMap = overrideBindCache.getOrPut(this.name) { useSiteMemberScope.bindOverrides(this.name) useSiteMemberScope diff --git a/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt b/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt index 7adeae35da0..bae1d6e587a 100644 --- a/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt +++ b/compiler/fir/lightTree/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt @@ -371,20 +371,20 @@ class DeclarationsConverter( FirSealedClassImpl( null, session, - className, status, classKind, scopeProvider, + className, FirRegularClassSymbol(context.currentClassId) ) } else { FirClassImpl( null, session, - className, status, classKind, scopeProvider, + className, FirRegularClassSymbol(context.currentClassId) ) } @@ -795,8 +795,8 @@ class DeclarationsConverter( return@withChildClassName FirTypeAliasImpl( null, session, - typeAliasName, status, + typeAliasName, FirTypeAliasSymbol(context.currentClassId), firType ).apply { @@ -1112,8 +1112,8 @@ class DeclarationsConverter( session, returnType!!, receiverType, - functionName, status, + functionName, FirNamedFunctionSymbol(callableIdForName(functionName, isLocal)) ) } diff --git a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/DataClassUtils.kt b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/DataClassUtils.kt index 28d35beab50..74e88b2e116 100644 --- a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/DataClassUtils.kt +++ b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/DataClassUtils.kt @@ -44,7 +44,7 @@ fun List>.generateComponentFunctions( firClass.addDeclaration( FirSimpleFunctionImpl( parameterSource, session, FirImplicitTypeRefImpl(parameterSource), - null, name, status, symbol + null, status, name, symbol ).apply { val componentFunction = this body = FirSingleExpressionBlock( @@ -84,8 +84,8 @@ fun List>.generateCopyFunction( session, firPrimaryConstructor.returnTypeRef, null, - copyName, status, + copyName, symbol ).apply { for ((ktParameter, firProperty) in this@generateCopyFunction) { diff --git a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 6e2b1985e26..70de8273615 100644 --- a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -562,20 +562,20 @@ class RawFirBuilder(session: FirSession, val scopeProvider: FirScopeProvider, va FirSealedClassImpl( classOrObject.toFirSourceElement(), session, - classOrObject.nameAsSafeName, status, classKind, scopeProvider, + classOrObject.nameAsSafeName, FirRegularClassSymbol(context.currentClassId) ) } else { FirClassImpl( classOrObject.toFirSourceElement(), session, - classOrObject.nameAsSafeName, status, classKind, scopeProvider, + classOrObject.nameAsSafeName, FirRegularClassSymbol(context.currentClassId) ) } @@ -653,8 +653,8 @@ class RawFirBuilder(session: FirSession, val scopeProvider: FirScopeProvider, va val firTypeAlias = FirTypeAliasImpl( typeAlias.toFirSourceElement(), session, - typeAlias.nameAsSafeName, status, + typeAlias.nameAsSafeName, FirTypeAliasSymbol(context.currentClassId), typeAlias.getTypeReference().toFirOrErrorType() ) @@ -696,8 +696,8 @@ class RawFirBuilder(session: FirSession, val scopeProvider: FirScopeProvider, va session, returnType, receiverType, - function.nameAsSafeName, status, + function.nameAsSafeName, FirNamedFunctionSymbol(callableIdForName(function.nameAsSafeName, function.isLocal)) ) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt index f8a303531e8..f42d7b231d3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt @@ -61,20 +61,20 @@ fun deserializeClassToSymbol( FirSealedClassImpl( null, session, - classId.shortClassName, status, ProtoEnumFlags.classKind(kind), scopeProvider, + classId.shortClassName, symbol ) } else { FirClassImpl( null, session, - classId.shortClassName, status, ProtoEnumFlags.classKind(kind), scopeProvider, + classId.shortClassName, symbol ) } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt index 67f71c4f1e8..77c6bc65c76 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt @@ -138,8 +138,8 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { return FirTypeAliasImpl( null, c.session, - name, status, + name, FirTypeAliasSymbol(ClassId(c.packageFqName, name)), FirResolvedTypeRefImpl( null, @@ -230,8 +230,8 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { c.session, proto.returnType(local.typeTable).toTypeRef(local), proto.receiverType(local.typeTable)?.toTypeRef(local), - callableName, status, + callableName, symbol ).apply { resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt index 2f48a6ba2d5..0c8c937cdd8 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/SamResolution.kt @@ -171,8 +171,8 @@ class FirSamResolverImpl( firSession, FirResolvedTypeRefImpl(null, substitutedReturnType), null, - classId.shortClassName, status, + classId.shortClassName, symbol ).apply { valueParameters += listOf( @@ -230,8 +230,14 @@ private fun FirRegularClass.computeSamCandidateNames(session: FirSession): Set() for (clazz in classes) { for (declaration in clazz.declarations) { - if (declaration !is FirMemberDeclaration || declaration.modality != Modality.ABSTRACT) continue - samCandidateNames.add(declaration.name) + when (declaration) { + is FirProperty -> if (declaration.modality == Modality.ABSTRACT) { + samCandidateNames.add(declaration.name) + } + is FirSimpleFunction -> if (declaration.modality == Modality.ABSTRACT) { + samCandidateNames.add(declaration.name) + } + } } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphBuilder.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphBuilder.kt index 3a755642ebe..a3afa752ecb 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphBuilder.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphBuilder.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.render import org.jetbrains.kotlin.fir.resolve.dfa.* import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.resultType -import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol import org.jetbrains.kotlin.fir.types.isNothing @@ -73,7 +72,7 @@ class ControlFlowGraphBuilder { is FirSimpleFunction -> function.name.asString() is FirPropertyAccessor -> if (function.isGetter) "" else "" is FirAnonymousFunction -> "" // TODO: add check to lambda or fun - is FirConstructor -> function.name.asString() + is FirConstructor -> "" else -> throw IllegalArgumentException("Unknown function: ${function.render()}") } val invocationKind = function.invocationKind diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphRenderer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphRenderer.kt index f428ff5c50e..d4a3104e264 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphRenderer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/cfg/ControlFlowGraphRenderer.kt @@ -217,7 +217,7 @@ private fun CFGNode<*>.render(): String = private fun FirFunction<*>.name(): String = when (this) { is FirSimpleFunction -> name.asString() is FirAnonymousFunction -> "anonymousFunction" - is FirConstructor -> name.asString() + is FirConstructor -> "" is FirPropertyAccessor -> if (isGetter) "getter" else "setter" is FirErrorFunction -> "errorFunction" else -> TODO(toString()) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirBuiltinSymbolProvider.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirBuiltinSymbolProvider.kt index cfba6fb1be1..3bf34208782 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirBuiltinSymbolProvider.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/impl/FirBuiltinSymbolProvider.kt @@ -160,10 +160,10 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider: FirClassImpl( null, session, - relativeClassName.shortName(), status, ClassKind.INTERFACE, kotlinScopeProvider, + relativeClassName.shortName(), this ).apply klass@{ resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES @@ -218,8 +218,8 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider: this@FirBuiltinSymbolProvider.session, typeArguments.last(), null, - name, functionStatus, + name, FirNamedFunctionSymbol(CallableId(packageFqName, relativeClassName, name)) ).apply { resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES @@ -308,7 +308,13 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider: } override fun getAllCallableNamesInClass(classId: ClassId): Set { - return getClassDeclarations(classId).filterIsInstance().mapTo(mutableSetOf()) { it.name } + return getClassDeclarations(classId).mapNotNullTo(mutableSetOf()) { + when (it) { + is FirSimpleFunction -> it.name + is FirVariable<*> -> it.name + else -> null + } + } } private fun getClassDeclarations(classId: ClassId): List { @@ -317,7 +323,7 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider: private fun findRegularClass(classId: ClassId): FirRegularClass? = - getClassLikeSymbolByFqName(classId)?.fir as? FirRegularClass + getClassLikeSymbolByFqName(classId)?.fir override fun getNestedClassesNamesInClass(classId: ClassId): Set { return getClassDeclarations(classId).filterIsInstance().mapTo(mutableSetOf()) { it.name } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirUseSiteMemberScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirUseSiteMemberScope.kt index bd4d246b934..2e386a90e09 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirUseSiteMemberScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/AbstractFirUseSiteMemberScope.kt @@ -97,8 +97,8 @@ abstract class AbstractFirUseSiteMemberScope( firSimpleFunction.session, firSimpleFunction.returnTypeRef, firSimpleFunction.receiverTypeRef, - firSimpleFunction.name, firSimpleFunction.status, + firSimpleFunction.name, newSymbol ) diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt index a68c7ad0d38..c6974e3a49f 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassDeclaredMemberScope.kt @@ -5,10 +5,7 @@ package org.jetbrains.kotlin.fir.scopes.impl -import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration -import org.jetbrains.kotlin.fir.declarations.FirClass -import org.jetbrains.kotlin.fir.declarations.FirConstructor -import org.jetbrains.kotlin.fir.declarations.FirRegularClass +import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.resolve.FirSymbolProvider import org.jetbrains.kotlin.fir.scopes.FirScope import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol @@ -36,7 +33,9 @@ class FirClassDeclaredMemberScope( is FirCallableMemberDeclaration<*> -> { val name = when (declaration) { is FirConstructor -> if (klass is FirRegularClass) klass.name else continue@loop - else -> declaration.name + is FirVariable<*> -> declaration.name + is FirSimpleFunction -> declaration.name + else -> continue@loop } result.getOrPut(name) { mutableListOf() } += declaration.symbol } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt index 8214d2d4cf3..ff5ae0be19e 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirClassSubstitutionScope.kt @@ -225,8 +225,8 @@ class FirClassSubstitutionScope( session, baseFunction.returnTypeRef.withReplacedReturnType(newReturnType), baseFunction.receiverTypeRef?.withReplacedConeType(newReceiverType), - name, baseFunction.status, + name, fakeOverrideSymbol ).apply { annotations += baseFunction.annotations diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirIntegerLiteralTypeScope.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirIntegerLiteralTypeScope.kt index 7225e446449..293ff39713f 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirIntegerLiteralTypeScope.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirIntegerLiteralTypeScope.kt @@ -134,7 +134,7 @@ class FirIntegerOperator( val kind: Kind, status: FirDeclarationStatus, symbol: FirFunctionSymbol -) : FirSimpleFunctionImpl(source, session, returnTypeRef, receiverTypeRef, kind.operatorName, status, symbol) { +) : FirSimpleFunctionImpl(source, session, returnTypeRef, receiverTypeRef, status, kind.operatorName, symbol) { enum class Kind(val unary: Boolean, val operatorName: Name) { PLUS(false, OperatorNameConventions.PLUS), MINUS(false, OperatorNameConventions.MINUS), diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt index 06e7f3babd5..be44ce7c629 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirCallableMemberDeclaration.kt @@ -10,7 +10,6 @@ import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol 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.* @@ -27,7 +26,6 @@ interface FirCallableMemberDeclaration> : Fi override val returnTypeRef: FirTypeRef override val receiverTypeRef: FirTypeRef? override val symbol: FirCallableSymbol - override val name: Name override val typeParameters: List override val status: FirDeclarationStatus val containerSource: DeserializedContainerSource? diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt index 1727623bbe6..516d3b6a036 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirConstructor.kt @@ -13,7 +13,6 @@ import org.jetbrains.kotlin.fir.expressions.FirDelegatedConstructorCall import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol 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.* @@ -31,7 +30,6 @@ interface FirConstructor : FirFunction, FirCallableMemberDeclara override val controlFlowGraphReference: FirControlFlowGraphReference override val typeParameters: List override val valueParameters: List - override val name: Name override val status: FirDeclarationStatus override val containerSource: DeserializedContainerSource? override val annotations: List diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirMemberDeclaration.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirMemberDeclaration.kt index ee0c157694b..04d083ef6a6 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirMemberDeclaration.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirMemberDeclaration.kt @@ -9,7 +9,6 @@ import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.FirSourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall -import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.fir.visitors.* /* @@ -22,7 +21,6 @@ interface FirMemberDeclaration : FirDeclaration, FirAnnotationContainer { override val session: FirSession override val resolvePhase: FirResolvePhase override val annotations: List - val name: Name val typeParameters: List val status: FirDeclarationStatus diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirRegularClass.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirRegularClass.kt index add99090564..cf2dc48992c 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirRegularClass.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirRegularClass.kt @@ -25,12 +25,12 @@ interface FirRegularClass : FirMemberDeclaration, FirTypeParametersOwner, FirCla override val session: FirSession override val resolvePhase: FirResolvePhase override val annotations: List - override val name: Name override val typeParameters: List override val status: FirDeclarationStatus override val classKind: ClassKind override val declarations: List override val scopeProvider: FirScopeProvider + val name: Name override val symbol: FirRegularClassSymbol val companionObject: FirRegularClass? override val superTypeRefs: List diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSealedClass.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSealedClass.kt index 114cd64df49..614963d4ca9 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSealedClass.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSealedClass.kt @@ -27,12 +27,12 @@ abstract class FirSealedClass : FirPureAbstractElement(), FirRegularClass { abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase abstract override val annotations: List - abstract override val name: Name abstract override val typeParameters: List abstract override val status: FirDeclarationStatus abstract override val classKind: ClassKind abstract override val declarations: List abstract override val scopeProvider: FirScopeProvider + abstract override val name: Name abstract override val symbol: FirRegularClassSymbol abstract override val companionObject: FirRegularClass? abstract override val superTypeRefs: List diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt index 26afefc7d2b..b935a6012e0 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirSimpleFunction.kt @@ -33,10 +33,10 @@ abstract class FirSimpleFunction : FirPureAbstractElement(), FirFunction abstract override val valueParameters: List abstract override val body: FirBlock? - abstract override val name: Name abstract override val status: FirDeclarationStatus abstract override val containerSource: DeserializedContainerSource? abstract override val contractDescription: FirContractDescription + abstract val name: Name abstract override val symbol: FirFunctionSymbol abstract override val annotations: List diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt index a92243689a1..9994e43a1be 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirTypeAlias.kt @@ -23,9 +23,9 @@ abstract class FirTypeAlias : FirPureAbstractElement(), FirClassLikeDeclaration< abstract override val source: FirSourceElement? abstract override val session: FirSession abstract override val resolvePhase: FirResolvePhase - abstract override val name: Name abstract override val typeParameters: List abstract override val status: FirDeclarationStatus + abstract val name: Name abstract override val symbol: FirTypeAliasSymbol abstract val expandedTypeRef: FirTypeRef abstract override val annotations: List diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt index baaa69b6ad5..e755f33c940 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirClassImpl.kt @@ -30,10 +30,10 @@ import org.jetbrains.kotlin.fir.visitors.* class FirClassImpl( override val source: FirSourceElement?, override val session: FirSession, - override val name: Name, override var status: FirDeclarationStatus, override val classKind: ClassKind, override val scopeProvider: FirScopeProvider, + override val name: Name, override val symbol: FirRegularClassSymbol ) : FirPureAbstractElement(), FirRegularClass, FirModifiableRegularClass, FirAbstractAnnotatedElement { override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt index 9778475caa9..b9ec6642b66 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirConstructorImpl.kt @@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol 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.* @@ -41,7 +40,6 @@ open class FirConstructorImpl( override var controlFlowGraphReference: FirControlFlowGraphReference = FirEmptyControlFlowGraphReference() override val typeParameters: MutableList = mutableListOf() override val valueParameters: MutableList = mutableListOf() - override val name: Name = Name.special("") override var containerSource: DeserializedContainerSource? = null override val annotations: MutableList = mutableListOf() override var delegatedConstructor: FirDelegatedConstructorCall? = null diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt index 4b2d136a748..770ac13a33d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableConstructor.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference import org.jetbrains.kotlin.fir.references.impl.FirEmptyControlFlowGraphReference import org.jetbrains.kotlin.fir.symbols.impl.FirConstructorSymbol 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.* @@ -39,7 +38,6 @@ abstract class FirModifiableConstructor : FirPureAbstractElement(), FirConstruct abstract override var controlFlowGraphReference: FirControlFlowGraphReference abstract override val typeParameters: MutableList abstract override val valueParameters: MutableList - abstract override val name: Name abstract override var status: FirDeclarationStatus abstract override var containerSource: DeserializedContainerSource? abstract override val annotations: MutableList diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableRegularClass.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableRegularClass.kt index 5f18c57837c..5b72aafa28b 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableRegularClass.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirModifiableRegularClass.kt @@ -31,12 +31,12 @@ interface FirModifiableRegularClass : FirRegularClass, FirModifiableClass - override val name: Name override val typeParameters: MutableList override var status: FirDeclarationStatus override val classKind: ClassKind override val declarations: MutableList override val scopeProvider: FirScopeProvider + override val name: Name override val symbol: FirRegularClassSymbol override var companionObject: FirRegularClass? override val superTypeRefs: MutableList diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSealedClassImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSealedClassImpl.kt index d0549bc8c90..a2c7e15e107 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSealedClassImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSealedClassImpl.kt @@ -31,10 +31,10 @@ import org.jetbrains.kotlin.fir.visitors.* class FirSealedClassImpl( override val source: FirSourceElement?, override val session: FirSession, - override val name: Name, override var status: FirDeclarationStatus, override val classKind: ClassKind, override val scopeProvider: FirScopeProvider, + override val name: Name, override val symbol: FirRegularClassSymbol ) : FirSealedClass(), FirModifiableRegularClass, FirAbstractAnnotatedElement { override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt index ed79f5949c4..7568caf9a87 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirSimpleFunctionImpl.kt @@ -35,8 +35,8 @@ open class FirSimpleFunctionImpl( override val session: FirSession, override var returnTypeRef: FirTypeRef, override var receiverTypeRef: FirTypeRef?, - override val name: Name, override var status: FirDeclarationStatus, + override val name: Name, override val symbol: FirFunctionSymbol ) : FirSimpleFunction(), FirModifiableFunction, FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement { override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt index ab5d9cdc6bb..05c2daf6891 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirTypeAliasImpl.kt @@ -26,8 +26,8 @@ import org.jetbrains.kotlin.fir.visitors.* class FirTypeAliasImpl( override val source: FirSourceElement?, override val session: FirSession, - override val name: Name, override var status: FirDeclarationStatus, + override val name: Name, override val symbol: FirTypeAliasSymbol, override var expandedTypeRef: FirTypeRef ) : FirTypeAlias(), FirModifiableTypeParametersOwner, FirAbstractAnnotatedElement { diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt index 40383edbfc8..987f4567678 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt @@ -48,7 +48,7 @@ fun FirModifiableClass.generateValuesFunction( isNullable = false ) ), - null, ENUM_VALUES, status, symbol + null, status, ENUM_VALUES, symbol ).apply { resolvePhase = FirResolvePhase.BODY_RESOLVE body = FirEmptyExpressionBlock() @@ -72,7 +72,7 @@ fun FirModifiableClass.generateValueOfFunction( isNullable = false ) ), - null, ENUM_VALUE_OF, status, symbol + null, status, ENUM_VALUE_OF, symbol ).apply { resolvePhase = FirResolvePhase.BODY_RESOLVE valueParameters += FirValueParameterImpl( diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt index d3eeb2c7c85..1f5eee9fdcb 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirRenderer.kt @@ -136,7 +136,7 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() { print(".") } when (callableDeclaration) { - is FirMemberDeclaration -> print(callableDeclaration.name) + is FirSimpleFunction -> print(callableDeclaration.name) is FirVariable<*> -> print(callableDeclaration.name) } @@ -241,7 +241,12 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() { visitDeclaration(memberDeclaration) if (memberDeclaration !is FirCallableDeclaration<*>) { // Handled by visitCallableDeclaration - print(" " + memberDeclaration.name) + if (memberDeclaration is FirRegularClass) { + print(" " + memberDeclaration.name) + } + if (memberDeclaration is FirTypeAlias) { + print(" " + memberDeclaration.name) + } if (memberDeclaration is FirTypeParametersOwner) { memberDeclaration.typeParameters.renderTypeParameters() } diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt index da230e93a90..ee1ec70b0a5 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/ImplementationConfigurator.kt @@ -35,7 +35,6 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator() parents += modifiableConstructor defaultNull("delegatedConstructor") defaultNull("body") - default("name", "Name.special(\"\")") default("isPrimary") { value = "false" diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt index f84fe662590..dda9ae784f0 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/NodeConfigurator.kt @@ -99,7 +99,6 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild } memberDeclaration.configure { - +name +typeParameters +status.withTransform() } @@ -219,6 +218,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild regularClass.configure { parentArg(klass, "F", regularClass) + +name +symbol("FirRegularClassSymbol") +field("companionObject", regularClass, nullable = true) +superTypeRefs(withReplace = true) @@ -235,6 +235,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild typeAlias.configure { parentArg(classLikeDeclaration, "F", typeAlias) + +name +symbol("FirTypeAliasSymbol") +field("expandedTypeRef", typeRef, withReplace = true) +annotations @@ -262,6 +263,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild simpleFunction.configure { parentArg(function, "F", simpleFunction) + +name +symbol("FirFunctionSymbol") +annotations parentArg(callableMemberDeclaration, "F", simpleFunction)