diff --git a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedFirTypeDeserializer.kt b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedFirTypeDeserializer.kt index 260568c35a0..f4d97c2b218 100644 --- a/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedFirTypeDeserializer.kt +++ b/analysis/low-level-api-fir/src/org/jetbrains/kotlin/analysis/low/level/api/fir/stubBased/deserialization/StubBasedFirTypeDeserializer.kt @@ -112,7 +112,7 @@ internal class StubBasedFirTypeDeserializer( .constructClassType(ConeTypeProjection.EMPTY_ARRAY, isNullable = false) } this.argumentMapping = buildAnnotationArgumentMapping { - mapping[Name.identifier("name")] = + mapping[StandardNames.NAME] = buildConstExpression(null, ConstantValueKind.String, paramName, setType = true) } } diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirJvmNameChecker.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirJvmNameChecker.kt index fe84099b3ab..3a5e87dc0d6 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirJvmNameChecker.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/declaration/FirJvmNameChecker.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.fir.analysis.jvm.checkers.declaration +import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.diagnostics.reportOn import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext @@ -24,11 +25,10 @@ import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.StandardClassIds object FirJvmNameChecker : FirBasicDeclarationChecker() { - private val NAME = Name.identifier("name") override fun check(declaration: FirDeclaration, context: CheckerContext, reporter: DiagnosticReporter) { val jvmName = declaration.findJvmNameAnnotation() ?: return - val name = jvmName.findArgumentByName(NAME) ?: return + val name = jvmName.findArgumentByName(StandardNames.NAME) ?: return if (name.typeRef.coneType != context.session.builtinTypes.stringType.type) { return diff --git a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirJvmPackageNameAnnotationsChecker.kt b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirJvmPackageNameAnnotationsChecker.kt index 16ed79939a1..e1aa3292c72 100644 --- a/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirJvmPackageNameAnnotationsChecker.kt +++ b/compiler/fir/checkers/checkers.jvm/src/org/jetbrains/kotlin/fir/analysis/jvm/checkers/expression/FirJvmPackageNameAnnotationsChecker.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.fir.analysis.jvm.checkers.expression +import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirAnnotationChecker import org.jetbrains.kotlin.diagnostics.DiagnosticReporter @@ -17,19 +18,17 @@ import org.jetbrains.kotlin.fir.types.ConeClassLikeType import org.jetbrains.kotlin.fir.types.coneTypeSafe import org.jetbrains.kotlin.name.ClassId import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.name.Name import org.jetbrains.kotlin.name.isValidJavaFqName object FirJvmPackageNameAnnotationsChecker : FirAnnotationChecker() { private val jvmPackageNameClassId = ClassId.topLevel(FqName("kotlin.jvm.JvmPackageName")) - private val stringParameterName = Name.identifier("name") override fun check(expression: FirAnnotation, context: CheckerContext, reporter: DiagnosticReporter) { val lookupTag = expression.annotationTypeRef.coneTypeSafe()?.lookupTag ?: return if (lookupTag.classId != jvmPackageNameClassId) return - val nameValue = expression.getStringArgument(stringParameterName) ?: return + val nameValue = expression.getStringArgument(StandardNames.NAME) ?: return if (nameValue.isEmpty()) { reporter.reportOn(expression.source, FirJvmErrors.JVM_PACKAGE_NAME_CANNOT_BE_EMPTY, context) } else if (!isValidJavaFqName(nameValue)) { diff --git a/compiler/fir/checkers/checkers.native/src/org/jetbrains/kotlin/fir/analysis/native/checkers/FirNativeObjCNameChecker.kt b/compiler/fir/checkers/checkers.native/src/org/jetbrains/kotlin/fir/analysis/native/checkers/FirNativeObjCNameChecker.kt index e05c79f1e80..2c6c8ea3d5b 100644 --- a/compiler/fir/checkers/checkers.native/src/org/jetbrains/kotlin/fir/analysis/native/checkers/FirNativeObjCNameChecker.kt +++ b/compiler/fir/checkers/checkers.native/src/org/jetbrains/kotlin/fir/analysis/native/checkers/FirNativeObjCNameChecker.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.fir.analysis.native.checkers +import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.descriptors.ClassKind import org.jetbrains.kotlin.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.diagnostics.reportOn @@ -35,7 +36,6 @@ import org.jetbrains.kotlin.name.Name object FirNativeObjCNameChecker : FirBasicDeclarationChecker() { private val objCNameClassId = ClassId.topLevel(FqName("kotlin.native.ObjCName")) - private val nameName = Name.identifier("name") private val swiftNameName = Name.identifier("swiftName") private val exactName = Name.identifier("exact") @@ -101,7 +101,7 @@ object FirNativeObjCNameChecker : FirBasicDeclarationChecker() { class ObjCName( val annotation: FirAnnotation ) { - val name: String? = annotation.getStringArgument(nameName) + val name: String? = annotation.getStringArgument(StandardNames.NAME) val swiftName: String? = annotation.getStringArgument(swiftNameName) val exact: Boolean = annotation.getBooleanArgument(exactName) ?: false diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/FirAnnotationUtils.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/FirAnnotationUtils.kt index 294a056a146..c69b12085e5 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/FirAnnotationUtils.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/declarations/FirAnnotationUtils.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.fir.declarations +import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget import org.jetbrains.kotlin.fir.FirAnnotationContainer import org.jetbrains.kotlin.fir.FirSession @@ -246,7 +247,7 @@ fun FirGetClassCall.getTargetType(): ConeKotlinType? { fun FirAnnotationContainer.getJvmNameFromAnnotation(session: FirSession, target: AnnotationUseSiteTarget? = null): String? { val annotationCalls = getAnnotationsByClassId(StandardClassIds.Annotations.JvmName, session) return annotationCalls.firstNotNullOfOrNull { call -> - call.getStringArgument(StandardClassIds.Annotations.ParameterNames.jvmNameName) + call.getStringArgument(StandardNames.NAME) ?.takeIf { target == null || call.useSiteTarget == target } } } diff --git a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/CallableReferenceLowering.kt b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/CallableReferenceLowering.kt index c5e29e42430..ebf575d24c7 100644 --- a/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/CallableReferenceLowering.kt +++ b/compiler/ir/backend.js/src/org/jetbrains/kotlin/ir/backend/js/lower/CallableReferenceLowering.kt @@ -13,6 +13,7 @@ import org.jetbrains.kotlin.backend.common.lower.LoweredStatementOrigins import org.jetbrains.kotlin.ir.backend.js.JsStatementOrigins import org.jetbrains.kotlin.backend.common.lower.createIrBuilder import org.jetbrains.kotlin.backend.common.runOnFilePostfix +import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.descriptors.DescriptorVisibilities import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET import org.jetbrains.kotlin.ir.builders.* @@ -419,7 +420,7 @@ class CallableReferenceLowering(private val context: CommonBackendContext) : Bod val superProperty = superFunctionInterface.declarations .filterIsInstance() - .single { it.name == Name.identifier("name") } // In K/Wasm interfaces can have fake overridden properties from Any + .single { it.name == StandardNames.NAME } // In K/Wasm interfaces can have fake overridden properties from Any val supperGetter = superProperty.getter ?: compilationException( diff --git a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/BuiltinSpecialProperties.kt b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/BuiltinSpecialProperties.kt index b508b2bdbb0..eed3141d20e 100644 --- a/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/BuiltinSpecialProperties.kt +++ b/core/compiler.common.jvm/src/org/jetbrains/kotlin/load/java/BuiltinSpecialProperties.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.name.Name object BuiltinSpecialProperties { val PROPERTY_FQ_NAME_TO_JVM_GETTER_NAME_MAP: Map = mapOf( - StandardNames.FqNames._enum.childSafe("name") to Name.identifier("name"), + StandardNames.FqNames._enum.childSafe("name") to StandardNames.NAME, StandardNames.FqNames._enum.childSafe("ordinal") to Name.identifier("ordinal"), StandardNames.FqNames.collection.child("size") to Name.identifier("size"), StandardNames.FqNames.map.child("size") to Name.identifier("size"), diff --git a/core/compiler.common/src/org/jetbrains/kotlin/builtins/StandardNames.kt b/core/compiler.common/src/org/jetbrains/kotlin/builtins/StandardNames.kt index b5569495804..5e7fe3913df 100644 --- a/core/compiler.common/src/org/jetbrains/kotlin/builtins/StandardNames.kt +++ b/core/compiler.common/src/org/jetbrains/kotlin/builtins/StandardNames.kt @@ -34,6 +34,8 @@ object StandardNames { @JvmField val CHAR_CODE = Name.identifier("code") + @JvmField val NAME = Name.identifier("name") + @JvmField val NEXT_CHAR = Name.identifier("nextChar") @JvmField val CONTEXT_FUNCTION_TYPE_PARAMETER_COUNT_NAME = Name.identifier("count") diff --git a/core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt b/core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt index e35f4aee0d1..8432e59193d 100644 --- a/core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt +++ b/core/compiler.common/src/org/jetbrains/kotlin/name/StandardClassIds.kt @@ -5,6 +5,8 @@ package org.jetbrains.kotlin.name +import org.jetbrains.kotlin.builtins.StandardNames + object StandardClassIds { val BASE_KOTLIN_PACKAGE = FqName("kotlin") val BASE_REFLECT_PACKAGE = BASE_KOTLIN_PACKAGE.child(Name.identifier("reflect")) @@ -199,7 +201,6 @@ object StandardClassIds { val retentionValue = value val targetAllowedTargets = Name.identifier("allowedTargets") - val jvmNameName = Name.identifier("name") val sinceKotlinVersion = Name.identifier("version") @@ -210,7 +211,7 @@ object StandardClassIds { val deprecatedSinceKotlinErrorSince = Name.identifier("errorSince") val deprecatedSinceKotlinHiddenSince = Name.identifier("hiddenSince") - val parameterNameName = jvmNameName + val parameterNameName = StandardNames.NAME } } diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/functionTypes.kt b/core/descriptors/src/org/jetbrains/kotlin/builtins/functionTypes.kt index 53c49d4c50b..1f0aee7f93d 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/functionTypes.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/functionTypes.kt @@ -225,7 +225,7 @@ fun getFunctionTypeArgumentProjections( val parameterNameAnnotation = BuiltInAnnotationDescriptor( builtIns, StandardNames.FqNames.parameterName, - mapOf(Name.identifier("name") to StringValue(name.asString())) + mapOf(StandardNames.NAME to StringValue(name.asString())) ) type.replaceAnnotations(Annotations.create(type.annotations + parameterNameAnnotation)) } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/WhenTranslator.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/WhenTranslator.kt index 1861b811857..a50439078b1 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/WhenTranslator.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/expression/WhenTranslator.kt @@ -7,6 +7,7 @@ package org.jetbrains.kotlin.js.translate.expression import org.jetbrains.kotlin.backend.common.CodegenUtil import org.jetbrains.kotlin.builtins.KotlinBuiltIns +import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.cfg.WhenChecker import org.jetbrains.kotlin.config.languageVersionSettings import org.jetbrains.kotlin.descriptors.CallableDescriptor @@ -150,7 +151,7 @@ private constructor(private val whenExpression: KtWhenExpression, context: Trans val (entriesForSwitch, nextIndex) = if (enumClass != null) { subjectSupplier = { val enumBaseClass = enumClass.getSuperClassOrAny() - val nameProperty = DescriptorUtils.getPropertyByName(enumBaseClass.unsubstitutedMemberScope, Name.identifier("name")) + val nameProperty = DescriptorUtils.getPropertyByName(enumBaseClass.unsubstitutedMemberScope, StandardNames.NAME) JsNameRef(context().getNameForDescriptor(nameProperty), subject) } collectEnumEntries(fromIndex, whenExpression.entries, enumClass.defaultType)