extract StandartNames.NAME constant

This commit is contained in:
Anna Kozlova
2023-05-02 11:18:13 +02:00
committed by teamcity
parent 92b6a77431
commit 366c67a668
11 changed files with 20 additions and 15 deletions
@@ -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)
}
}
@@ -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
@@ -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<ConeClassLikeType>()?.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)) {
@@ -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
@@ -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 }
}
}
@@ -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<IrProperty>()
.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(
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.name.Name
object BuiltinSpecialProperties {
val PROPERTY_FQ_NAME_TO_JVM_GETTER_NAME_MAP: Map<FqName, Name> = 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"),
@@ -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")
@@ -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
}
}
@@ -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))
}
@@ -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)