Unify and use default value parameter name in default setter

This commit is contained in:
Jinseong Jeon
2021-09-03 11:12:59 -07:00
committed by Ilya Kirillov
parent c2964f688e
commit 9e7ee2fdea
7 changed files with 14 additions and 10 deletions
@@ -9,6 +9,7 @@ import com.intellij.lang.LighterASTNode
import com.intellij.psi.TokenType import com.intellij.psi.TokenType
import com.intellij.util.diff.FlyweightCapableTreeStructure import com.intellij.util.diff.FlyweightCapableTreeStructure
import org.jetbrains.kotlin.KtNodeTypes.* import org.jetbrains.kotlin.KtNodeTypes.*
import org.jetbrains.kotlin.builtins.StandardNames.DEFAULT_VALUE_PARAMETER
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.Visibilities
@@ -1261,7 +1262,7 @@ class DeclarationsConverter(
moduleData = baseModuleData moduleData = baseModuleData
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = propertyTypeRefToUse returnTypeRef = propertyTypeRefToUse
symbol = FirValueParameterSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) symbol = FirValueParameterSymbol(DEFAULT_VALUE_PARAMETER)
} }
var block: LighterASTNode? = null var block: LighterASTNode? = null
var expression: LighterASTNode? = null var expression: LighterASTNode? = null
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.fir.builder
import com.intellij.psi.PsiElement import com.intellij.psi.PsiElement
import com.intellij.psi.tree.IElementType import com.intellij.psi.tree.IElementType
import org.jetbrains.kotlin.KtNodeTypes import org.jetbrains.kotlin.KtNodeTypes
import org.jetbrains.kotlin.builtins.StandardNames.DEFAULT_VALUE_PARAMETER
import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.descriptors.Modality import org.jetbrains.kotlin.descriptors.Modality
import org.jetbrains.kotlin.descriptors.Visibilities import org.jetbrains.kotlin.descriptors.Visibilities
@@ -406,7 +407,7 @@ open class RawFirBuilder(
moduleData = baseModuleData moduleData = baseModuleData
origin = FirDeclarationOrigin.Source origin = FirDeclarationOrigin.Source
returnTypeRef = propertyTypeRefToUse returnTypeRef = propertyTypeRefToUse
symbol = FirValueParameterSymbol(NAME_FOR_DEFAULT_VALUE_PARAMETER) symbol = FirValueParameterSymbol(DEFAULT_VALUE_PARAMETER)
} }
} }
symbol = FirPropertyAccessorSymbol() symbol = FirPropertyAccessorSymbol()
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
import kotlinx.collections.immutable.PersistentMap import kotlinx.collections.immutable.PersistentMap
import kotlinx.collections.immutable.persistentMapOf import kotlinx.collections.immutable.persistentMapOf
import org.jetbrains.kotlin.fir.NAME_FOR_BACKING_FIELD import org.jetbrains.kotlin.builtins.StandardNames.BACKING_FIELD
import org.jetbrains.kotlin.fir.declarations.FirProperty import org.jetbrains.kotlin.fir.declarations.FirProperty
import org.jetbrains.kotlin.fir.declarations.FirRegularClass import org.jetbrains.kotlin.fir.declarations.FirRegularClass
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
@@ -49,7 +49,7 @@ class FirLocalScope private constructor(
fun storeBackingField(property: FirProperty): FirLocalScope { fun storeBackingField(property: FirProperty): FirLocalScope {
return FirLocalScope( return FirLocalScope(
properties.put(NAME_FOR_BACKING_FIELD, property.backingFieldSymbol), functions, classes properties.put(BACKING_FIELD, property.backingFieldSymbol), functions, classes
) )
} }
@@ -7,9 +7,6 @@ package org.jetbrains.kotlin.fir
import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.Name
val NAME_FOR_BACKING_FIELD = Name.identifier("field")
val NAME_FOR_DEFAULT_VALUE_PARAMETER = Name.identifier("value")
// Data class synthetic members // Data class synthetic members
val COPY_NAME = Name.identifier("copy") val COPY_NAME = Name.identifier("copy")
val HASHCODE_NAME = Name.identifier("hashCode") val HASHCODE_NAME = Name.identifier("hashCode")
@@ -16,6 +16,7 @@
package org.jetbrains.kotlin.psi2ir.generators package org.jetbrains.kotlin.psi2ir.generators
import org.jetbrains.kotlin.builtins.StandardNames.DEFAULT_VALUE_PARAMETER
import org.jetbrains.kotlin.config.LanguageFeature import org.jetbrains.kotlin.config.LanguageFeature
import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotations import org.jetbrains.kotlin.descriptors.annotations.Annotations
@@ -26,7 +27,6 @@ import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrExpressionBody import org.jetbrains.kotlin.ir.expressions.IrExpressionBody
import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin import org.jetbrains.kotlin.ir.expressions.IrStatementOrigin
import org.jetbrains.kotlin.ir.expressions.impl.IrGetValueImpl import org.jetbrains.kotlin.ir.expressions.impl.IrGetValueImpl
import org.jetbrains.kotlin.name.Name
import org.jetbrains.kotlin.psi.* import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.endOffset import org.jetbrains.kotlin.psi.psiUtil.endOffset
import org.jetbrains.kotlin.psi.psiUtil.startOffsetSkippingComments import org.jetbrains.kotlin.psi.psiUtil.startOffsetSkippingComments
@@ -130,7 +130,7 @@ class PropertyGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
CallableMemberDescriptor.Kind.SYNTHESIZED, null, propertyDescriptor.source CallableMemberDescriptor.Kind.SYNTHESIZED, null, propertyDescriptor.source
).apply { ).apply {
val setterValueParameter = ValueParameterDescriptorImpl( val setterValueParameter = ValueParameterDescriptorImpl(
this, null, 0, Annotations.EMPTY, Name.identifier("value"), propertyDescriptor.type, this, null, 0, Annotations.EMPTY, DEFAULT_VALUE_PARAMETER, propertyDescriptor.type,
declaresDefaultValue = false, isCrossinline = false, isNoinline = false, declaresDefaultValue = false, isCrossinline = false, isNoinline = false,
varargElementType = null, source = SourceElement.NO_SOURCE varargElementType = null, source = SourceElement.NO_SOURCE
) )
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.asJava.builder.LightMemberOriginForDeclaration
import org.jetbrains.kotlin.asJava.elements.KtLightField import org.jetbrains.kotlin.asJava.elements.KtLightField
import org.jetbrains.kotlin.asJava.elements.KtLightMethod import org.jetbrains.kotlin.asJava.elements.KtLightMethod
import org.jetbrains.kotlin.asJava.elements.convertToLightAnnotationMemberValue import org.jetbrains.kotlin.asJava.elements.convertToLightAnnotationMemberValue
import org.jetbrains.kotlin.builtins.StandardNames.DEFAULT_VALUE_PARAMETER
import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper
import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.descriptors.annotations.Annotated import org.jetbrains.kotlin.descriptors.annotations.Annotated
@@ -505,7 +506,7 @@ internal class UltraLightMembersCreator(
) )
else else
KtUltraLightParameterForSetterParameter( KtUltraLightParameterForSetterParameter(
name = propertyName, name = DEFAULT_VALUE_PARAMETER.identifier,
property = declaration, property = declaration,
support = support, support = support,
method = setterWrapper, method = setterWrapper,
@@ -16,6 +16,10 @@ import org.jetbrains.kotlin.utils.newHashSetWithExpectedSize
@Suppress("Reformat") @Suppress("Reformat")
object StandardNames { object StandardNames {
@JvmField val BACKING_FIELD = Name.identifier("field")
@JvmField val DEFAULT_VALUE_PARAMETER = Name.identifier("value")
@JvmField val ENUM_VALUES = Name.identifier("values") @JvmField val ENUM_VALUES = Name.identifier("values")
@JvmField val ENUM_VALUE_OF = Name.identifier("valueOf") @JvmField val ENUM_VALUE_OF = Name.identifier("valueOf")