Skip to content

Commit 409f966

Browse files
demiurg906teamcityserver
authored andcommitted
[Parcelize] Extract common names, class ids and FQNs into separate object
1 parent edc74b8 commit 409f966

18 files changed

+185
-133
lines changed

plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeAnnotationChecker.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,13 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
2323
import org.jetbrains.kotlin.descriptors.ClassKind
2424
import org.jetbrains.kotlin.descriptors.annotations.Annotations
2525
import org.jetbrains.kotlin.descriptors.containingPackage
26-
import org.jetbrains.kotlin.name.FqName
26+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.DEPRECATED_RUNTIME_PACKAGE
27+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.IGNORED_ON_PARCEL_FQ_NAMES
28+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCELER_FQN
29+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCELIZE_CLASS_FQ_NAMES
30+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.RAW_VALUE_ANNOTATION_FQ_NAMES
31+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.TYPE_PARCELER_FQ_NAMES
32+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.WRITE_WITH_FQ_NAMES
2733
import org.jetbrains.kotlin.parcelize.diagnostic.ErrorsParcelize
2834
import org.jetbrains.kotlin.psi.*
2935
import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject
@@ -38,11 +44,6 @@ import org.jetbrains.kotlin.types.typeUtil.replaceAnnotations
3844
import org.jetbrains.kotlin.types.typeUtil.supertypes
3945

4046
open class ParcelizeAnnotationChecker : CallChecker {
41-
@Suppress("DEPRECATION")
42-
companion object {
43-
val DEPRECATED_RUNTIME_PACKAGE = FqName("kotlinx.android.parcel")
44-
}
45-
4647
override fun check(resolvedCall: ResolvedCall<*>, reportOn: PsiElement, context: CallCheckerContext) {
4748
val constructorDescriptor = resolvedCall.resultingDescriptor as? ClassConstructorDescriptor ?: return
4849
val annotationClass = constructorDescriptor.constructedClass.takeIf { it.kind == ClassKind.ANNOTATION_CLASS } ?: return
@@ -159,7 +160,7 @@ open class ParcelizeAnnotationChecker : CallChecker {
159160
}
160161

161162
fun KotlinType.fqName() = constructor.declarationDescriptor?.fqNameSafe
162-
val parcelerSuperType = parcelerClass.defaultType.supertypes().firstOrNull { it.fqName() == PARCELER_FQNAME } ?: return
163+
val parcelerSuperType = parcelerClass.defaultType.supertypes().firstOrNull { it.fqName() == PARCELER_FQN } ?: return
163164
val expectedType = parcelerSuperType.arguments.singleOrNull()?.type ?: return
164165

165166
if (!actualType.isSubtypeOf(expectedType)) {
@@ -188,4 +189,4 @@ internal inline fun <reified T : PsiElement> PsiElement.getStrictParentOfType():
188189

189190
internal inline fun <reified T : PsiElement> PsiElement.getNonStrictParentOfType(): T? {
190191
return PsiTreeUtil.getParentOfType(this, T::class.java, false)
191-
}
192+
}

plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeCodegenExtension.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,15 @@ import com.intellij.psi.PsiElement
99
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
1010
import org.jetbrains.kotlin.codegen.*
1111
import org.jetbrains.kotlin.codegen.FunctionGenerationStrategy.CodegenBased
12-
import org.jetbrains.kotlin.codegen.OwnerKind
1312
import org.jetbrains.kotlin.codegen.context.ClassContext
1413
import org.jetbrains.kotlin.codegen.extensions.ExpressionCodegenExtension
1514
import org.jetbrains.kotlin.descriptors.*
1615
import org.jetbrains.kotlin.descriptors.annotations.Annotations
1716
import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorImpl
1817
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
1918
import org.jetbrains.kotlin.name.Name
19+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.NEW_ARRAY_NAME
20+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.TYPE_PARCELER_FQ_NAMES
2021
import org.jetbrains.kotlin.parcelize.ParcelizeResolveExtension.Companion.createMethod
2122
import org.jetbrains.kotlin.parcelize.ParcelizeSyntheticComponent.ComponentKind.*
2223
import org.jetbrains.kotlin.parcelize.serializers.*
@@ -375,7 +376,7 @@ open class ParcelizeCodegenExtension : ParcelizeExtensionBase, ExpressionCodegen
375376
).write(codegen, overriddenFunction) {
376377
if (parcelerObject != null) {
377378
val newArrayMethod = parcelerObject.unsubstitutedMemberScope
378-
.getContributedFunctions(Name.identifier("newArray"), NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS)
379+
.getContributedFunctions(NEW_ARRAY_NAME, NoLookupLocation.WHEN_GET_ALL_DESCRIPTORS)
379380
.firstOrNull {
380381
it.typeParameters.isEmpty()
381382
&& it.kind == CallableMemberDescriptor.Kind.DECLARATION
@@ -435,4 +436,4 @@ internal fun getTypeParcelers(annotations: Annotations): List<TypeParcelerMappin
435436
}
436437

437438
return serializers
438-
}
439+
}

plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeDeclarationChecker.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import org.jetbrains.kotlin.diagnostics.DiagnosticSink
1515
import org.jetbrains.kotlin.lexer.KtTokens
1616
import org.jetbrains.kotlin.load.kotlin.TypeMappingMode
1717
import org.jetbrains.kotlin.name.FqName
18+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.OLD_PARCELER_FQN
19+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCELABLE_FQN
1820
import org.jetbrains.kotlin.parcelize.diagnostic.ErrorsParcelize
1921
import org.jetbrains.kotlin.parcelize.serializers.ParcelSerializer
2022
import org.jetbrains.kotlin.parcelize.serializers.isParcelable
@@ -29,10 +31,6 @@ import org.jetbrains.kotlin.types.TypeUtils
2931
import org.jetbrains.kotlin.types.isError
3032
import org.jetbrains.kotlin.types.typeUtil.supertypes
3133

32-
val ANDROID_PARCELABLE_CLASS_FQNAME = FqName("android.os.Parcelable")
33-
val ANDROID_PARCELABLE_CREATOR_CLASS_FQNAME = FqName("android.os.Parcelable.Creator")
34-
val ANDROID_PARCEL_CLASS_FQNAME = FqName("android.os.Parcel")
35-
3634
open class ParcelizeDeclarationChecker : DeclarationChecker {
3735
private companion object {
3836
private val IGNORED_ON_PARCEL_FQ_NAMES = listOf(
@@ -126,7 +124,7 @@ open class ParcelizeDeclarationChecker : DeclarationChecker {
126124
}
127125

128126
for (type in descriptor.defaultType.supertypes()) {
129-
if (type.constructor.declarationDescriptor?.fqNameSafe == OLD_PARCELER_FQNAME) {
127+
if (type.constructor.declarationDescriptor?.fqNameSafe == OLD_PARCELER_FQN) {
130128
val reportElement = declaration.nameIdentifier ?: declaration.getObjectKeyword() ?: declaration
131129
diagnosticHolder.report(ErrorsParcelize.DEPRECATED_PARCELER.on(reportElement))
132130
break
@@ -179,7 +177,7 @@ open class ParcelizeDeclarationChecker : DeclarationChecker {
179177
}
180178

181179
val superTypes = TypeUtils.getAllSupertypes(descriptor.defaultType)
182-
if (superTypes.none { it.constructor.declarationDescriptor?.fqNameSafe == ANDROID_PARCELABLE_CLASS_FQNAME }) {
180+
if (superTypes.none { it.constructor.declarationDescriptor?.fqNameSafe == PARCELABLE_FQN }) {
183181
val reportElement = declaration.nameIdentifier ?: declaration
184182
diagnosticHolder.report(ErrorsParcelize.NO_PARCELABLE_SUPERTYPE.on(reportElement))
185183
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
/*
2+
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
3+
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
4+
*/
5+
6+
package org.jetbrains.kotlin.parcelize
7+
8+
import org.jetbrains.kotlin.name.ClassId
9+
import org.jetbrains.kotlin.name.FqName
10+
import org.jetbrains.kotlin.name.Name
11+
12+
object ParcelizeNames {
13+
// -------------------- Packages --------------------
14+
15+
val DEPRECATED_RUNTIME_PACKAGE = FqName("kotlinx.android.parcel")
16+
17+
private val PACKAGES_FQ_NAMES = listOf(
18+
FqName("kotlinx.parcelize"),
19+
DEPRECATED_RUNTIME_PACKAGE
20+
)
21+
22+
// -------------------- Class ids --------------------
23+
24+
val PARCELIZE_ID = ClassId(FqName("kotlinx.parcelize"), Name.identifier("Parcelize"))
25+
val OLD_PARCELIZE_ID = ClassId(FqName("kotlinx.android.parcel"), Name.identifier("Parcelize"))
26+
val PARCEL_ID = ClassId(FqName("android.os"), Name.identifier("Parcel"))
27+
val PARCELABLE_ID = ClassId(FqName("android.os"), Name.identifier("Parcelable"))
28+
val CREATOR_ID = PARCELABLE_ID.createNestedClassId(Name.identifier("Creator"))
29+
val PARCELER_ID = ClassId(FqName("kotlinx.parcelize"), Name.identifier("Parceler"))
30+
val OLD_PARCELER_ID = ClassId(FqName("kotlinx.android.parcel"), Name.identifier("Parceler"))
31+
32+
val TYPE_PARCELER_CLASS_IDS = createClassIds("TypeParceler")
33+
val WRITE_WITH_CLASS_IDS = createClassIds("WriteWith")
34+
val IGNORED_ON_PARCEL_CLASS_IDS = createClassIds("IgnoredOnParcel")
35+
val PARCELIZE_CLASS_CLASS_IDS = createClassIds("Parcelize")
36+
val RAW_VALUE_ANNOTATION_CLASS_IDS = createClassIds("RawValue")
37+
38+
// -------------------- FQNs --------------------
39+
40+
val PARCELIZE_FQN = PARCELIZE_ID.asSingleFqName()
41+
val OLD_PARCELIZE_FQN = OLD_PARCELIZE_ID.asSingleFqName()
42+
val PARCELABLE_FQN = PARCELABLE_ID.asSingleFqName()
43+
val CREATOR_FQN = CREATOR_ID.asSingleFqName()
44+
45+
val TYPE_PARCELER_FQ_NAMES = TYPE_PARCELER_CLASS_IDS.fqNames()
46+
val WRITE_WITH_FQ_NAMES = WRITE_WITH_CLASS_IDS.fqNames()
47+
val IGNORED_ON_PARCEL_FQ_NAMES = IGNORED_ON_PARCEL_CLASS_IDS.fqNames()
48+
val PARCELIZE_CLASS_FQ_NAMES: List<FqName> = PARCELIZE_CLASS_CLASS_IDS.fqNames()
49+
val RAW_VALUE_ANNOTATION_FQ_NAMES = RAW_VALUE_ANNOTATION_CLASS_IDS.fqNames()
50+
51+
val PARCELER_FQN = PARCELER_ID.asSingleFqName()
52+
val OLD_PARCELER_FQN = OLD_PARCELER_ID.asSingleFqName()
53+
54+
// -------------------- Names --------------------
55+
56+
val DESCRIBE_CONTENTS_NAME = Name.identifier("describeContents")
57+
val WRITE_TO_PARCEL_NAME = Name.identifier("writeToParcel")
58+
val NEW_ARRAY_NAME = Name.identifier("newArray")
59+
val CREATE_FROM_PARCEL_NAME = Name.identifier("createFromParcel")
60+
61+
val DEST_NAME = Name.identifier("dest")
62+
val FLAGS_NAME = Name.identifier("flags")
63+
64+
val CREATOR_NAME = Name.identifier("CREATOR")
65+
66+
// -------------------- Utils --------------------
67+
68+
private fun createClassIds(name: String): List<ClassId> {
69+
return PACKAGES_FQ_NAMES.map { ClassId(it, Name.identifier(name)) }
70+
}
71+
72+
private fun List<ClassId>.fqNames(): List<FqName> {
73+
return map { it.asSingleFqName() }
74+
}
75+
}

plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeResolveExtension.kt

Lines changed: 15 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,16 @@ import org.jetbrains.kotlin.descriptors.annotations.AnnotationDescriptor
2424
import org.jetbrains.kotlin.descriptors.annotations.Annotations
2525
import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl
2626
import org.jetbrains.kotlin.descriptors.impl.ValueParameterDescriptorImpl
27-
import org.jetbrains.kotlin.name.ClassId
2827
import org.jetbrains.kotlin.name.FqName
2928
import org.jetbrains.kotlin.name.Name
29+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.CREATE_FROM_PARCEL_NAME
30+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.CREATOR_ID
31+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.DESCRIBE_CONTENTS_NAME
32+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.NEW_ARRAY_NAME
33+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCELER_FQN
34+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCELIZE_CLASS_FQ_NAMES
35+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCEL_ID
36+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.WRITE_TO_PARCEL_NAME
3037
import org.jetbrains.kotlin.parcelize.ParcelizeSyntheticComponent.ComponentKind.DESCRIBE_CONTENTS
3138
import org.jetbrains.kotlin.parcelize.ParcelizeSyntheticComponent.ComponentKind.WRITE_TO_PARCEL
3239
import org.jetbrains.kotlin.resolve.BindingContext
@@ -41,11 +48,11 @@ import org.jetbrains.kotlin.types.SimpleType
4148
open class ParcelizeResolveExtension : SyntheticResolveExtension {
4249
companion object {
4350
fun resolveParcelClassType(module: ModuleDescriptor): SimpleType? {
44-
return module.findClassAcrossModuleDependencies(ClassId.topLevel(FqName("android.os.Parcel")))?.defaultType
51+
return module.findClassAcrossModuleDependencies(PARCEL_ID)?.defaultType
4552
}
4653

4754
fun resolveParcelableCreatorClassType(module: ModuleDescriptor): SimpleType? {
48-
val creatorClassId = ClassId(FqName("android.os"), FqName("Parcelable.Creator"), false)
55+
val creatorClassId = CREATOR_ID
4956
return module.findClassAcrossModuleDependencies(creatorClassId)?.defaultType
5057
}
5158

@@ -163,47 +170,13 @@ interface ParcelizeSyntheticComponent {
163170
val componentKind: ComponentKind
164171

165172
enum class ComponentKind(val methodName: String) {
166-
WRITE_TO_PARCEL("writeToParcel"),
167-
DESCRIBE_CONTENTS("describeContents"),
168-
NEW_ARRAY("newArray"),
169-
CREATE_FROM_PARCEL("createFromParcel")
173+
WRITE_TO_PARCEL(WRITE_TO_PARCEL_NAME.identifier),
174+
DESCRIBE_CONTENTS(DESCRIBE_CONTENTS_NAME.identifier),
175+
NEW_ARRAY(NEW_ARRAY_NAME.identifier),
176+
CREATE_FROM_PARCEL(CREATE_FROM_PARCEL_NAME.identifier)
170177
}
171178
}
172179

173-
val PACKAGES_FQ_NAMES = listOf(
174-
FqName("kotlinx.parcelize"),
175-
FqName("kotlinx.android.parcel")
176-
)
177-
178-
private fun createClassIds(name: String): List<ClassId> {
179-
return PACKAGES_FQ_NAMES.map { ClassId(it, Name.identifier(name)) }
180-
}
181-
182-
private fun List<ClassId>.fqNames(): List<FqName> {
183-
return map { it.asSingleFqName() }
184-
}
185-
186-
val TYPE_PARCELER_CLASS_IDS = createClassIds("TypeParceler")
187-
val TYPE_PARCELER_FQ_NAMES = TYPE_PARCELER_CLASS_IDS.fqNames()
188-
189-
val WRITE_WITH_CLASS_IDS = createClassIds("WriteWith")
190-
val WRITE_WITH_FQ_NAMES = WRITE_WITH_CLASS_IDS.fqNames()
191-
192-
val IGNORED_ON_PARCEL_CLASS_IDS = createClassIds("IgnoredOnParcel")
193-
val IGNORED_ON_PARCEL_FQ_NAMES = IGNORED_ON_PARCEL_CLASS_IDS.fqNames()
194-
195-
val PARCELIZE_CLASS_CLASS_IDS = createClassIds("Parcelize")
196-
val PARCELIZE_CLASS_FQ_NAMES: List<FqName> = PARCELIZE_CLASS_CLASS_IDS.fqNames()
197-
198-
val RAW_VALUE_ANNOTATION_CLASS_IDS = createClassIds("RawValue")
199-
val RAW_VALUE_ANNOTATION_FQ_NAMES = RAW_VALUE_ANNOTATION_CLASS_IDS.fqNames()
200-
201-
internal val PARCELER_CLASS_ID = ClassId(FqName("kotlinx.parcelize"), Name.identifier("Parceler"))
202-
internal val PARCELER_FQNAME = PARCELER_CLASS_ID.asSingleFqName()
203-
204-
internal val OLD_PARCELER_CLASS_ID = ClassId(FqName("kotlinx.android.parcel"), Name.identifier("Parceler"))
205-
internal val OLD_PARCELER_FQNAME = OLD_PARCELER_CLASS_ID.asSingleFqName()
206-
207180
val ClassDescriptor.hasParcelizeAnnotation: Boolean
208181
get() = PARCELIZE_CLASS_FQ_NAMES.any(annotations::hasAnnotation)
209182

@@ -213,7 +186,7 @@ val ClassDescriptor.isParcelize: Boolean
213186
|| getSuperInterfaces().any { DescriptorUtils.isSealedClass(it) && it.hasParcelizeAnnotation }
214187

215188
val KotlinType.isParceler: Boolean
216-
get() = constructor.declarationDescriptor?.fqNameSafe == PARCELER_FQNAME
189+
get() = constructor.declarationDescriptor?.fqNameSafe == PARCELER_FQN
217190

218191
fun Annotated.findAnyAnnotation(fqNames: List<FqName>): AnnotationDescriptor? {
219192
for (fqName in fqNames) {

plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/fir/FirParcelizeDeclarationGenerator.kt

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,19 @@ import org.jetbrains.kotlin.fir.types.coneType
3232
import org.jetbrains.kotlin.fir.types.impl.ConeClassLikeTypeImpl
3333
import org.jetbrains.kotlin.fir.types.isInt
3434
import org.jetbrains.kotlin.name.CallableId
35-
import org.jetbrains.kotlin.name.ClassId
36-
import org.jetbrains.kotlin.name.FqName
3735
import org.jetbrains.kotlin.name.Name
38-
import org.jetbrains.kotlin.parcelize.ParcelizeSyntheticComponent.ComponentKind
36+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.DESCRIBE_CONTENTS_NAME
37+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.DEST_NAME
38+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.FLAGS_NAME
39+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.OLD_PARCELIZE_FQN
40+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCELIZE_FQN
41+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCEL_ID
42+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.WRITE_TO_PARCEL_NAME
3943
import org.jetbrains.kotlin.utils.addToStdlib.runIf
4044

4145
class FirParcelizeDeclarationGenerator(session: FirSession) : FirDeclarationGenerationExtension(session) {
4246
companion object {
43-
private val PARCELIZE_ID = ClassId(FqName("kotlinx.parcelize"), Name.identifier("Parcelize"))
44-
private val OLD_PARCELIZE_ID = ClassId(FqName("kotlinx.android.parcel"), Name.identifier("Parcelize"))
45-
private val PREDICATE = has(PARCELIZE_ID.asSingleFqName(), OLD_PARCELIZE_ID.asSingleFqName())
46-
47-
private val DESCRIBE_CONTENTS_NAME = Name.identifier(ComponentKind.DESCRIBE_CONTENTS.methodName)
48-
private val WRITE_TO_PARCEL_NAME = Name.identifier(ComponentKind.WRITE_TO_PARCEL.methodName)
49-
private val DEST_NAME = Name.identifier("dest")
50-
51-
private val FLAGS_NAME = Name.identifier("flags")
52-
53-
private val PARCEL_ID = ClassId(FqName("android.os"), Name.identifier("Parcel"))
47+
private val PREDICATE = has(PARCELIZE_FQN, OLD_PARCELIZE_FQN)
5448
private val parcelizeMethodsNames = setOf(DESCRIBE_CONTENTS_NAME, WRITE_TO_PARCEL_NAME)
5549
}
5650

plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/fir/diagnostics/FirParcelizeAnnotationChecker.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,12 @@ import org.jetbrains.kotlin.fir.resolve.toFirRegularClassSymbol
1515
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
1616
import org.jetbrains.kotlin.fir.types.coneType
1717
import org.jetbrains.kotlin.name.ClassId
18-
import org.jetbrains.kotlin.parcelize.*
18+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.DEPRECATED_RUNTIME_PACKAGE
19+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.IGNORED_ON_PARCEL_CLASS_IDS
20+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.PARCELIZE_CLASS_CLASS_IDS
21+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.RAW_VALUE_ANNOTATION_CLASS_IDS
22+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.TYPE_PARCELER_CLASS_IDS
23+
import org.jetbrains.kotlin.parcelize.ParcelizeNames.WRITE_WITH_CLASS_IDS
1924

2025
object FirParcelizeAnnotationChecker : FirAnnotationCallChecker() {
2126
override fun check(expression: FirAnnotationCall, context: CheckerContext, reporter: DiagnosticReporter) {
@@ -46,7 +51,7 @@ object FirParcelizeAnnotationChecker : FirAnnotationCallChecker() {
4651
reporter: DiagnosticReporter,
4752
isForbidden: Boolean
4853
) {
49-
if (annotationClassId.packageFqName == ParcelizeAnnotationChecker.DEPRECATED_RUNTIME_PACKAGE) {
54+
if (annotationClassId.packageFqName == DEPRECATED_RUNTIME_PACKAGE) {
5055
val factory = if (isForbidden) KtErrorsParcelize.FORBIDDEN_DEPRECATED_ANNOTATION else KtErrorsParcelize.DEPRECATED_ANNOTATION
5156
reporter.reportOn(annotationCall.source, factory, context)
5257
}

0 commit comments

Comments
 (0)