diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt index 964398e84a1..44b56fd54f9 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/ClassDeserialization.kt @@ -24,10 +24,7 @@ import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCloneableSymbolProvide import org.jetbrains.kotlin.fir.resolve.providers.impl.FirCloneableSymbolProvider.Companion.CLONEABLE_CLASS_ID import org.jetbrains.kotlin.fir.scopes.FirScopeProvider import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterLookupTag -import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl -import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.types.ConeAttributes import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef @@ -166,7 +163,7 @@ fun deserializeClassToSymbol( this.origin = FirDeclarationOrigin.Library returnTypeRef = buildResolvedTypeRef { type = enumType } name = enumEntryName - this.symbol = FirVariableSymbol(CallableId(classId, enumEntryName)) + this.symbol = FirEnumEntrySymbol(CallableId(classId, enumEntryName)) this.status = FirResolvedDeclarationStatusImpl( Visibilities.Public, Modality.FINAL, diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt index 38dd70e7030..f0f6e382a96 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/deserialization/FirMemberDeserializer.kt @@ -11,7 +11,9 @@ import org.jetbrains.kotlin.fir.FirSession import org.jetbrains.kotlin.fir.containingClassAttr import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.* -import org.jetbrains.kotlin.fir.declarations.impl.* +import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyGetter +import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertySetter +import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusImpl import org.jetbrains.kotlin.fir.declarations.utils.sourceElement import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression @@ -19,8 +21,9 @@ import org.jetbrains.kotlin.fir.expressions.builder.buildExpressionStub import org.jetbrains.kotlin.fir.resolve.defaultType import org.jetbrains.kotlin.fir.symbols.impl.* import org.jetbrains.kotlin.fir.toEffectiveVisibility -import org.jetbrains.kotlin.fir.types.* +import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef +import org.jetbrains.kotlin.fir.types.computeTypeAttributes import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl import org.jetbrains.kotlin.fir.types.impl.FirImplicitUnitTypeRef @@ -515,7 +518,7 @@ class FirMemberDeserializer(private val c: FirDeserializationContext) { origin = FirDeclarationOrigin.Library returnTypeRef = proto.type(c.typeTable).toTypeRef(c) this.name = name - symbol = FirVariableSymbol(name) + symbol = FirValueParameterSymbol(name) resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES defaultValue = defaultValue(flags) if (addDefaultValue) { diff --git a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirBuiltinSymbolProvider.kt b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirBuiltinSymbolProvider.kt index b4d772aaa49..91f9371b5ce 100644 --- a/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirBuiltinSymbolProvider.kt +++ b/compiler/fir/fir-deserialization/src/org/jetbrains/kotlin/fir/resolve/providers/impl/FirBuiltinSymbolProvider.kt @@ -8,9 +8,14 @@ package org.jetbrains.kotlin.fir.resolve.providers.impl import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.builtins.functions.FunctionClassKind import org.jetbrains.kotlin.descriptors.* -import org.jetbrains.kotlin.fir.* -import org.jetbrains.kotlin.fir.caches.* -import org.jetbrains.kotlin.fir.declarations.* +import org.jetbrains.kotlin.fir.FirModuleData +import org.jetbrains.kotlin.fir.FirSession +import org.jetbrains.kotlin.fir.ThreadSafeMutableState +import org.jetbrains.kotlin.fir.caches.createCache +import org.jetbrains.kotlin.fir.caches.firCachesFactory +import org.jetbrains.kotlin.fir.caches.getValue +import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin +import org.jetbrains.kotlin.fir.declarations.FirResolvePhase import org.jetbrains.kotlin.fir.declarations.builder.buildRegularClass import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction import org.jetbrains.kotlin.fir.declarations.builder.buildTypeParameter @@ -326,7 +331,7 @@ private class SyntheticFunctionalInterfaceCache(private val moduleData: FirModul resolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES returnTypeRef = typeArgument this.name = parameterName - symbol = FirVariableSymbol(parameterName) + symbol = FirValueParameterSymbol(parameterName) defaultValue = null isCrossinline = false isNoinline = false diff --git a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt index 16fcfad912d..11ae8d6406d 100644 --- a/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt +++ b/compiler/fir/fir2ir/src/org/jetbrains/kotlin/fir/backend/generators/DataClassMembersGenerator.kt @@ -12,7 +12,10 @@ import org.jetbrains.kotlin.fir.backend.Fir2IrComponents import org.jetbrains.kotlin.fir.backend.FirMetadataSource import org.jetbrains.kotlin.fir.backend.declareThisReceiverParameter import org.jetbrains.kotlin.fir.backend.toIrType -import org.jetbrains.kotlin.fir.declarations.* +import org.jetbrains.kotlin.fir.declarations.FirClass +import org.jetbrains.kotlin.fir.declarations.FirDeclaration +import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin +import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.builder.buildSimpleFunction import org.jetbrains.kotlin.fir.declarations.builder.buildValueParameter import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl @@ -21,7 +24,7 @@ import org.jetbrains.kotlin.fir.moduleData import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope import org.jetbrains.kotlin.fir.symbols.ConeClassLikeLookupTag import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.ConeStarProjection import org.jetbrains.kotlin.fir.types.constructType import org.jetbrains.kotlin.fir.types.impl.FirImplicitBooleanTypeRef @@ -279,7 +282,7 @@ class DataClassMembersGenerator(val components: Fir2IrComponents) { origin = FirDeclarationOrigin.Synthetic moduleData = components.session.moduleData this.returnTypeRef = FirImplicitNullableAnyTypeRef(null) - this.symbol = FirVariableSymbol(this.name) + this.symbol = FirValueParameterSymbol(this.name) isCrossinline = false isNoinline = false isVararg = false diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt index 0dd920b9324..2f912048a8e 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/JavaSymbolProvider.kt @@ -382,7 +382,7 @@ class JavaSymbolProvider( javaField.isEnumEntry -> buildEnumEntry { source = (javaField as? JavaElementImpl<*>)?.psi?.toFirPsiSourceElement() moduleData = this@JavaSymbolProvider.baseModuleData - symbol = FirVariableSymbol(fieldId) + symbol = FirEnumEntrySymbol(fieldId) name = fieldName status = FirResolvedDeclarationStatusImpl( javaField.visibility, diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaValueParameter.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaValueParameter.kt index 7ddf2c83996..ed9d760d2da 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaValueParameter.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/declarations/FirJavaValueParameter.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusIm 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.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.visitors.FirTransformer @@ -34,7 +34,7 @@ class FirJavaValueParameter @FirImplementationDetail constructor( override val attributes: FirDeclarationAttributes, override var returnTypeRef: FirTypeRef, override val name: Name, - override val symbol: FirVariableSymbol, + override val symbol: FirValueParameterSymbol, annotationBuilder: () -> List, override var defaultValue: FirExpression?, override val isVararg: Boolean, @@ -182,7 +182,7 @@ class FirJavaValueParameterBuilder { attributes, returnTypeRef, name, - symbol = FirVariableSymbol(name), + symbol = FirValueParameterSymbol(name), annotationBuilder, defaultValue, isVararg, diff --git a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt index f5009f65f60..e1cffad1ef6 100644 --- a/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt +++ b/compiler/fir/java/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt @@ -26,7 +26,8 @@ import org.jetbrains.kotlin.fir.java.declarations.* import org.jetbrains.kotlin.fir.java.toConeKotlinTypeProbablyFlexible import org.jetbrains.kotlin.fir.scopes.jvm.computeJvmDescriptor import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.types.* +import org.jetbrains.kotlin.fir.types.FirResolvedTypeRef +import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.jvm.FirJavaTypeRef import org.jetbrains.kotlin.load.java.AnnotationQualifierApplicabilityType import org.jetbrains.kotlin.load.java.typeEnhancement.* @@ -222,7 +223,7 @@ class FirSignatureEnhancement( origin = FirDeclarationOrigin.Enhancement returnTypeRef = enhancedReturnType this.name = valueParameter.name - symbol = FirVariableSymbol(this.name) + symbol = FirValueParameterSymbol(this.name) defaultValue = valueParameter.defaultValue isCrossinline = valueParameter.isCrossinline isNoinline = valueParameter.isNoinline diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt index 1e63965bd2d..ad39a857e8e 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/DeclarationsConverter.kt @@ -651,7 +651,7 @@ class DeclarationsConverter( origin = FirDeclarationOrigin.Source returnTypeRef = classWrapper.delegatedSelfTypeRef name = enumEntryName - symbol = FirVariableSymbol(CallableId(context.currentClassId, enumEntryName)) + symbol = FirEnumEntrySymbol(CallableId(context.currentClassId, enumEntryName)) status = FirDeclarationStatusImpl(Visibilities.Public, Modality.FINAL).apply { isStatic = true isExpect = classWrapper.hasExpect() @@ -1204,7 +1204,7 @@ class DeclarationsConverter( moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = propertyTypeRef - symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) + symbol = FirValueParameterSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) } var block: LighterASTNode? = null var expression: LighterASTNode? = null @@ -1327,7 +1327,7 @@ class DeclarationsConverter( origin = FirDeclarationOrigin.Source returnTypeRef = if (firValueParameter.returnTypeRef == implicitType) propertyTypeRef else firValueParameter.returnTypeRef name = firValueParameter.name - symbol = FirVariableSymbol(firValueParameter.name) + symbol = FirValueParameterSymbol(firValueParameter.name) defaultValue = firValueParameter.defaultValue isCrossinline = modifiers.hasCrossinline() || firValueParameter.isCrossinline isNoinline = modifiers.hasNoinline() || firValueParameter.isNoinline @@ -1967,7 +1967,7 @@ class DeclarationsConverter( origin = FirDeclarationOrigin.Source returnTypeRef = firType ?: implicitType this.name = name - symbol = FirVariableSymbol(name) + symbol = FirValueParameterSymbol(name) defaultValue = firExpression isCrossinline = modifiers.hasCrossinline() isNoinline = modifiers.hasNoinline() diff --git a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt index 2add9905b2c..5e91c773cf7 100644 --- a/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt +++ b/compiler/fir/raw-fir/light-tree2fir/src/org/jetbrains/kotlin/fir/lightTree/converter/ExpressionsConverter.kt @@ -36,7 +36,7 @@ import org.jetbrains.kotlin.fir.references.builder.buildExplicitThisReference import org.jetbrains.kotlin.fir.references.builder.buildSimpleNamedReference import org.jetbrains.kotlin.fir.symbols.impl.FirAnonymousFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.FirTypeProjection import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.lexer.KtTokens.* @@ -157,7 +157,7 @@ class ExpressionsConverter( origin = FirDeclarationOrigin.Source returnTypeRef = valueParameter.firValueParameter.returnTypeRef this.name = name - symbol = FirVariableSymbol(name) + symbol = FirValueParameterSymbol(name) defaultValue = null isCrossinline = false isNoinline = false diff --git a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt index 08f761207e1..3da7b2aa64a 100644 --- a/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt +++ b/compiler/fir/raw-fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -364,7 +364,7 @@ open class RawFirBuilder( moduleData = baseModuleData origin = FirDeclarationOrigin.Source returnTypeRef = propertyTypeRef - symbol = FirVariableSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) + symbol = FirValueParameterSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) } } symbol = FirPropertyAccessorSymbol() @@ -421,7 +421,7 @@ open class RawFirBuilder( else -> null.toFirOrImplicitType() } this.name = name - symbol = FirVariableSymbol(name) + symbol = FirValueParameterSymbol(name) defaultValue = if (hasDefaultValue()) { { this@toFirValueParameter.defaultValue }.toFirExpression("Should have default value") } else null @@ -751,7 +751,7 @@ open class RawFirBuilder( isStatic = true isExpect = containingClassOrObject?.hasExpectModifier() == true } - symbol = FirVariableSymbol(callableIdForName(nameAsSafeName)) + symbol = FirEnumEntrySymbol(callableIdForName(nameAsSafeName)) if (ownerClassHasDefaultConstructor && ktEnumEntry.initializerList == null && ktEnumEntry.annotationEntries.isEmpty() && ktEnumEntry.body == null ) { @@ -1146,7 +1146,7 @@ open class RawFirBuilder( source = multiDeclaration.toFirSourceElement(FirFakeSourceElementKind.ImplicitTypeRef) } this.name = name - symbol = FirVariableSymbol(name) + symbol = FirValueParameterSymbol(name) isCrossinline = false isNoinline = false isVararg = false diff --git a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt index a058cac6723..2e3849f60f9 100644 --- a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt +++ b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/BaseFirBuilder.kt @@ -1146,7 +1146,7 @@ abstract class BaseFirBuilder(val baseSession: FirSession, val context: Conte origin = FirDeclarationOrigin.Source returnTypeRef = propertyReturnTypeRef name = propertyName - symbol = FirVariableSymbol(propertyName) + symbol = FirValueParameterSymbol(propertyName) defaultValue = generateComponentAccess(parameterSource, firProperty, classTypeRef, propertyReturnTypeRef) isCrossinline = false isNoinline = false diff --git a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/ConversionUtils.kt b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/ConversionUtils.kt index 0ef4dca3102..88ac9138da7 100644 --- a/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/ConversionUtils.kt +++ b/compiler/fir/raw-fir/raw-fir.common/src/org/jetbrains/kotlin/fir/builder/ConversionUtils.kt @@ -12,7 +12,6 @@ import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.contracts.FirContractDescription import org.jetbrains.kotlin.fir.contracts.builder.buildLegacyRawContractDescription import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin -import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirVariable import org.jetbrains.kotlin.fir.declarations.builder.* import org.jetbrains.kotlin.fir.declarations.impl.FirDeclarationStatusImpl @@ -29,8 +28,10 @@ import org.jetbrains.kotlin.fir.references.builder.buildResolvedNamedReference import org.jetbrains.kotlin.fir.references.builder.buildSimpleNamedReference import org.jetbrains.kotlin.fir.symbols.constructStarProjectedType import org.jetbrains.kotlin.fir.symbols.impl.* -import org.jetbrains.kotlin.fir.types.* -import org.jetbrains.kotlin.fir.types.builder.* +import org.jetbrains.kotlin.fir.types.ConeStarProjection +import org.jetbrains.kotlin.fir.types.FirTypeRef +import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef +import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef import org.jetbrains.kotlin.fir.types.impl.* import org.jetbrains.kotlin.lexer.KtTokens import org.jetbrains.kotlin.name.Name @@ -451,7 +452,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate( origin = FirDeclarationOrigin.Source returnTypeRef = buildImplicitTypeRef() name = DELEGATED_SETTER_PARAM - symbol = FirVariableSymbol(this@generateAccessorsByDelegate.name) + symbol = FirValueParameterSymbol(this@generateAccessorsByDelegate.name) isCrossinline = false isNoinline = false isVararg = false 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 d010577d36a..6a79340163d 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 @@ -25,7 +25,7 @@ import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope import org.jetbrains.kotlin.fir.symbols.impl.FirPropertySymbol import org.jetbrains.kotlin.fir.symbols.impl.FirRegularClassSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.typeContext import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef @@ -208,7 +208,7 @@ class FirSamResolverImpl( type = substitutedFunctionType } name = SAM_PARAMETER_NAME - this.symbol = FirVariableSymbol(SAM_PARAMETER_NAME) + this.symbol = FirValueParameterSymbol(SAM_PARAMETER_NAME) isCrossinline = false isNoinline = false isVararg = false diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt index 31f501e618f..c4c01d951e9 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirCallCompleter.kt @@ -27,7 +27,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirAbstractBod import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer import org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.resultType import org.jetbrains.kotlin.fir.resolve.typeFromCallee -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl import org.jetbrains.kotlin.fir.visitors.transformSingle @@ -235,7 +235,7 @@ class FirCallCompleter( origin = FirDeclarationOrigin.Source returnTypeRef = itType.approximateLambdaInputType().toFirResolvedTypeRef() this.name = name - symbol = FirVariableSymbol(name) + symbol = FirValueParameterSymbol(name) defaultValue = null isCrossinline = false isNoinline = false diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt index 33ca9dcbb2e..e102d94a4ce 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirSyntheticCallGenerator.kt @@ -28,7 +28,7 @@ import org.jetbrains.kotlin.fir.resolvedTypeFromPrototype import org.jetbrains.kotlin.fir.symbols.SyntheticCallableId import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.typeContext import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef @@ -356,7 +356,7 @@ class FirSyntheticCallGenerator( isCrossinline = false isNoinline = false this.isVararg = isVararg - symbol = FirVariableSymbol(name) + symbol = FirValueParameterSymbol(name) resolvePhase = FirResolvePhase.BODY_RESOLVE } } diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt index a3e7825efb3..9a597d60ff3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/body/resolve/FirDeclarationsResolveTransformer.kt @@ -35,7 +35,7 @@ import org.jetbrains.kotlin.fir.resolve.transformers.* import org.jetbrains.kotlin.fir.resolve.withExpectedType import org.jetbrains.kotlin.fir.scopes.impl.FirMemberTypeParameterScope import org.jetbrains.kotlin.fir.symbols.constructStarProjectedType -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.types.builder.buildErrorTypeRef import org.jetbrains.kotlin.fir.types.builder.buildImplicitTypeRef @@ -676,7 +676,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor origin = FirDeclarationOrigin.Source returnTypeRef = singleParameterType.toFirResolvedTypeRef() this.name = name - symbol = FirVariableSymbol(name) + symbol = FirValueParameterSymbol(name) isCrossinline = false isNoinline = false isVararg = false diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt index a83544d4258..597d0842d51 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/scopes/impl/FirFakeOverrideGenerator.kt @@ -245,7 +245,7 @@ object FirFakeOverrideGenerator { buildValueParameterCopy(valueParameter) { origin = FirDeclarationOrigin.SubstitutionOverride returnTypeRef = valueParameter.returnTypeRef.withReplacedConeType(newType) - symbol = FirVariableSymbol(valueParameter.symbol.callableId) + symbol = FirValueParameterSymbol(valueParameter.name) } } } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt index 039f7d76bf6..8a6c156de20 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirEnumEntry.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.fir.FirModuleData 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.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirEnumEntrySymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.name.Name @@ -35,7 +35,6 @@ abstract class FirEnumEntry : FirVariable() { abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val name: Name - abstract override val symbol: FirVariableSymbol abstract override val initializer: FirExpression? abstract override val delegate: FirExpression? abstract override val isVar: Boolean @@ -43,6 +42,7 @@ abstract class FirEnumEntry : FirVariable() { abstract override val getter: FirPropertyAccessor? abstract override val setter: FirPropertyAccessor? abstract override val annotations: List + abstract override val symbol: FirEnumEntrySymbol override fun accept(visitor: FirVisitor, data: D): R = visitor.visitEnumEntry(this, data) diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt index 6402c70e973..1475b9d96d3 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/FirValueParameter.kt @@ -11,7 +11,7 @@ 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.references.FirControlFlowGraphReference -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.name.Name @@ -36,7 +36,6 @@ abstract class FirValueParameter : FirVariable(), FirControlF abstract override val containerSource: DeserializedContainerSource? abstract override val dispatchReceiverType: ConeKotlinType? abstract override val name: Name - abstract override val symbol: FirVariableSymbol abstract override val initializer: FirExpression? abstract override val delegate: FirExpression? abstract override val isVar: Boolean @@ -45,6 +44,7 @@ abstract class FirValueParameter : FirVariable(), FirControlF abstract override val setter: FirPropertyAccessor? abstract override val annotations: List abstract override val controlFlowGraphReference: FirControlFlowGraphReference? + abstract override val symbol: FirValueParameterSymbol abstract val defaultValue: FirExpression? abstract val isCrossinline: Boolean abstract val isNoinline: Boolean diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDefaultSetterValueParameterBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDefaultSetterValueParameterBuilder.kt index a7c2c193c6d..2705036ea44 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDefaultSetterValueParameterBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirDefaultSetterValueParameterBuilder.kt @@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusIm 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.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.visitors.* @@ -45,7 +45,6 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder { var receiverTypeRef: FirTypeRef? = null var containerSource: DeserializedContainerSource? = null var dispatchReceiverType: ConeKotlinType? = null - lateinit var symbol: FirVariableSymbol var initializer: FirExpression? = null var delegate: FirExpression? = null var isVar: Boolean = false @@ -53,6 +52,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder { var getter: FirPropertyAccessor? = null var setter: FirPropertyAccessor? = null override val annotations: MutableList = mutableListOf() + lateinit var symbol: FirValueParameterSymbol var defaultValue: FirExpression? = null var isCrossinline: Boolean = false var isNoinline: Boolean = false @@ -69,7 +69,6 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder { receiverTypeRef, containerSource, dispatchReceiverType, - symbol, initializer, delegate, isVar, @@ -77,6 +76,7 @@ class FirDefaultSetterValueParameterBuilder : FirAnnotationContainerBuilder { getter, setter, annotations, + symbol, defaultValue, isCrossinline, isNoinline, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt index 757fca0847b..7b1cdd7be17 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirEnumEntryBuilder.kt @@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef import org.jetbrains.kotlin.fir.declarations.impl.FirEnumEntryImpl import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall import org.jetbrains.kotlin.fir.expressions.FirExpression -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirEnumEntrySymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.visitors.* @@ -45,9 +45,9 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder { var containerSource: DeserializedContainerSource? = null var dispatchReceiverType: ConeKotlinType? = null lateinit var name: Name - lateinit var symbol: FirVariableSymbol var initializer: FirExpression? = null override val annotations: MutableList = mutableListOf() + lateinit var symbol: FirEnumEntrySymbol override fun build(): FirEnumEntry { return FirEnumEntryImpl( @@ -62,9 +62,9 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder { containerSource, dispatchReceiverType, name, - symbol, initializer, annotations, + symbol, ) } diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirValueParameterBuilder.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirValueParameterBuilder.kt index b6d71ffc8c9..fe9aab490bc 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirValueParameterBuilder.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/builder/FirValueParameterBuilder.kt @@ -22,7 +22,7 @@ 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.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.visitors.* @@ -45,8 +45,8 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder { open var containerSource: DeserializedContainerSource? = null open var dispatchReceiverType: ConeKotlinType? = null open lateinit var name: Name - open lateinit var symbol: FirVariableSymbol override val annotations: MutableList = mutableListOf() + open lateinit var symbol: FirValueParameterSymbol open var defaultValue: FirExpression? = null open var isCrossinline: Boolean by kotlin.properties.Delegates.notNull() open var isNoinline: Boolean by kotlin.properties.Delegates.notNull() @@ -63,8 +63,8 @@ open class FirValueParameterBuilder : FirAnnotationContainerBuilder { containerSource, dispatchReceiverType, name, - symbol, annotations, + symbol, defaultValue, isCrossinline, isNoinline, @@ -97,8 +97,8 @@ inline fun buildValueParameterCopy(original: FirValueParameter, init: FirValuePa copyBuilder.containerSource = original.containerSource copyBuilder.dispatchReceiverType = original.dispatchReceiverType copyBuilder.name = original.name - copyBuilder.symbol = original.symbol copyBuilder.annotations.addAll(original.annotations) + copyBuilder.symbol = original.symbol copyBuilder.defaultValue = original.defaultValue copyBuilder.isCrossinline = original.isCrossinline copyBuilder.isNoinline = original.isNoinline diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt index a05ea8f8225..ce7fc470393 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultSetterValueParameter.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusIm 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.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.name.Name @@ -40,7 +40,6 @@ internal class FirDefaultSetterValueParameter( override var receiverTypeRef: FirTypeRef?, override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, - override val symbol: FirVariableSymbol, override var initializer: FirExpression?, override var delegate: FirExpression?, override val isVar: Boolean, @@ -48,6 +47,7 @@ internal class FirDefaultSetterValueParameter( override var getter: FirPropertyAccessor?, override var setter: FirPropertyAccessor?, override val annotations: MutableList, + override val symbol: FirValueParameterSymbol, override var defaultValue: FirExpression?, override val isCrossinline: Boolean, override val isNoinline: Boolean, diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt index 674208fb628..ac36db999b2 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirEnumEntryImpl.kt @@ -16,7 +16,7 @@ import org.jetbrains.kotlin.fir.declarations.FirResolvePhase 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.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirEnumEntrySymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.name.Name @@ -40,9 +40,9 @@ internal class FirEnumEntryImpl( override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val name: Name, - override val symbol: FirVariableSymbol, override var initializer: FirExpression?, override val annotations: MutableList, + override val symbol: FirEnumEntrySymbol, ) : FirEnumEntry() { override val receiverTypeRef: FirTypeRef? get() = null override val delegate: FirExpression? get() = null diff --git a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt index c7bc1ee6453..02fa28cd82d 100644 --- a/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt +++ b/compiler/fir/tree/gen/org/jetbrains/kotlin/fir/declarations/impl/FirValueParameterImpl.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusIm 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.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.ConeKotlinType import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.name.Name @@ -40,8 +40,8 @@ internal class FirValueParameterImpl( override val containerSource: DeserializedContainerSource?, override val dispatchReceiverType: ConeKotlinType?, override val name: Name, - override val symbol: FirVariableSymbol, override val annotations: MutableList, + override val symbol: FirValueParameterSymbol, override var defaultValue: FirExpression?, override val isCrossinline: Boolean, override val isNoinline: Boolean, 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 484ccb97c9a..729d45445e1 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/EnumClassUtils.kt @@ -18,7 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.impl.FirResolvedDeclarationStatusIm import org.jetbrains.kotlin.fir.expressions.builder.buildEmptyExpressionBlock import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol -import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl import org.jetbrains.kotlin.fir.types.impl.FirImplicitStringTypeRef @@ -93,7 +93,7 @@ fun FirRegularClassBuilder.generateValueOfFunction( this.moduleData = moduleData returnTypeRef = FirImplicitStringTypeRef(source) name = VALUE - this@vp.symbol = FirVariableSymbol(VALUE) + this@vp.symbol = FirValueParameterSymbol(VALUE) isCrossinline = false isNoinline = false isVararg = false diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt index 10f4351cf9f..6033ccd0f37 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/declarations/impl/FirDefaultPropertyAccessor.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.builder.buildDefaultSetterValueParameter import org.jetbrains.kotlin.fir.expressions.FirBlock import org.jetbrains.kotlin.fir.symbols.impl.FirPropertyAccessorSymbol +import org.jetbrains.kotlin.fir.symbols.impl.FirValueParameterSymbol import org.jetbrains.kotlin.fir.symbols.impl.FirVariableSymbol import org.jetbrains.kotlin.fir.types.FirTypeRef import org.jetbrains.kotlin.fir.types.impl.FirImplicitUnitTypeRef @@ -120,7 +121,7 @@ class FirDefaultPropertySetter( this@builder.moduleData = moduleData this@builder.origin = origin this@builder.returnTypeRef = propertyTypeRef - this@builder.symbol = FirVariableSymbol(CallableId(FqName.ROOT, Name.special(""))) + this@builder.symbol = FirValueParameterSymbol(Name.special("")) } ), isGetter = false, diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirVariableSymbol.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirVariableSymbol.kt index 9deb133a442..8c9fd0633f8 100644 --- a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirVariableSymbol.kt +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/symbols/impl/FirVariableSymbol.kt @@ -5,19 +5,14 @@ package org.jetbrains.kotlin.fir.symbols.impl -import org.jetbrains.kotlin.fir.declarations.FirErrorProperty -import org.jetbrains.kotlin.fir.declarations.FirField -import org.jetbrains.kotlin.fir.declarations.FirProperty -import org.jetbrains.kotlin.fir.declarations.FirVariable +import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.diagnostics.ConeDiagnostic import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.name.CallableId import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name -open class FirVariableSymbol>(override val callableId: CallableId) : FirCallableSymbol() { - constructor(name: Name) : this(CallableId(name)) // TODO? -} +sealed class FirVariableSymbol>(override val callableId: CallableId) : FirCallableSymbol() open class FirPropertySymbol( callableId: CallableId, @@ -40,6 +35,13 @@ class FirDelegateFieldSymbol(callableId: CallableId) : FirVariableSymbol(callableId) +class FirEnumEntrySymbol(callableId: CallableId) : FirVariableSymbol(callableId) + +class FirValueParameterSymbol(name: Name) : FirVariableSymbol(CallableId(name)) { + val name: Name + get() = callableId.callableName +} + class FirErrorPropertySymbol( val diagnostic: ConeDiagnostic ) : FirVariableSymbol(CallableId(FqName.ROOT, null, NAME)) { 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 120491d1619..1aa039e1b07 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 @@ -46,11 +46,6 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +annotations } -// symbolOwner.configure { -// withArg("DE, symbolOwner, declaration) -// +symbolWithPackage("fir.symbols", "FirBasedSymbol", "DE) -// } - typeParameterRef.configure { +symbol(typeParameterSymbolType.type) } @@ -383,6 +378,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild valueParameter.configure { parentArg(variable, "E", valueParameter) + +symbol("FirValueParameterSymbol") +field("defaultValue", expression, nullable = true) generateBooleanFields("crossinline", "noinline", "vararg") } @@ -408,6 +404,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild enumEntry.configure { parentArg(variable, "E", enumEntry) + +symbol("FirEnumEntrySymbol") } field.configure { @@ -417,7 +414,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild anonymousInitializer.configure { parentArg(declaration, "E", anonymousInitializer) +body(nullable = true) - +symbol(anonymousInitializerSymbolType.type) + +symbol("FirAnonymousInitializerSymbol") } file.configure { @@ -426,7 +423,7 @@ object NodeConfigurator : AbstractFieldConfigurator(FirTreeBuild +declarations.withTransform() +stringField("name") +field("packageFqName", fqNameType) - +symbol(fileSymbolType.type) + +symbol("FirFileSymbol") } import.configure { diff --git a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/Types.kt b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/Types.kt index 7cd3f6bd392..3aa1384b7d4 100644 --- a/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/Types.kt +++ b/compiler/fir/tree/tree-generator/src/org/jetbrains/kotlin/fir/tree/generator/Types.kt @@ -71,8 +71,6 @@ val classLikeSymbolType = type("fir.symbols.impl", "FirClassLikeSymbol<*>") val typeParameterSymbolType = type("fir.symbols.impl", "FirTypeParameterSymbol") val emptyArgumentListType = type("fir.expressions", "FirEmptyArgumentList") val firScopeProviderType = type("fir.scopes", "FirScopeProvider") -val anonymousInitializerSymbolType = type("fir.symbols.impl", "FirAnonymousInitializerSymbol") -val fileSymbolType = type("fir.symbols.impl", "FirFileSymbol") val pureAbstractElementType = generatedType("FirPureAbstractElement") val coneEffectDeclarationType = type("fir.contracts.description", "ConeEffectDeclaration")