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
@@ -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(