From a093052b77cc72723125f0dbee03550833124cc8 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Tue, 26 Oct 2021 11:14:10 +0300 Subject: [PATCH] Delete sources of parcelize IDE plugin They are moved to intellij community repo, so those sources in kotlin repository are actually redundant --- .../parcelize/parcelize-ide/build.gradle.kts | 53 ---- .../messages/KotlinParcelizeBundle.properties | 8 - .../ide/IdeParcelizeAnnotationChecker.kt | 21 -- .../ide/IdeParcelizeCodegenExtension.kt | 15 - .../ide/IdeParcelizeDeclarationChecker.kt | 21 -- ...ionCheckerComponentContainerContributor.kt | 26 -- .../ide/IdeParcelizeResolveExtension.kt | 15 - .../parcelize/ide/KotlinParcelizeBundle.kt | 20 -- .../parcelize/ide/ParcelizeAvailability.kt | 37 --- .../ide/ParcelizeProjectResolverExtension.kt | 46 --- ...rcelizeUltraLightClassModifierExtension.kt | 95 ------ .../quickfixes/AbstractParcelizeQuickFix.kt | 53 ---- .../AnnotateWithParcelizeQuickFix.kt | 40 --- .../ParcelMigrateToParcelizeQuickFix.kt | 291 ------------------ .../ParcelRemoveCustomCreatorProperty.kt | 35 --- .../ParcelRemoveCustomWriteToParcel.kt | 31 -- ...lizeAddIgnoreOnParcelAnnotationQuickFix.kt | 32 -- .../ParcelizeAddPrimaryConstructorQuickFix.kt | 40 --- .../ParcelizeAddSupertypeQuickFix.kt | 32 -- .../ParcelizeQuickFixContributor.kt | 45 --- ...plicatingTypeParcelerAnnotationQuickFix.kt | 31 -- .../constructorWithDelegate.kt | 13 - .../constructorWithDelegate.kt.after | 13 - .../addPrimaryConstructor/noQuickFix.kt | 11 - .../quickfix/addPrimaryConstructor/simple.kt | 12 - .../addPrimaryConstructor/simple.kt.after | 12 - .../quickfix/cantBeInnerClass/simple.kt | 12 - .../quickfix/cantBeInnerClass/simple.kt.after | 12 - .../quickfix/classShouldBeAnnotated/simple.kt | 15 - .../classShouldBeAnnotated/simple.kt.after | 16 - .../deleteIncompatible/creatorField.kt | 36 --- .../deleteIncompatible/creatorField.kt.after | 26 -- .../deleteIncompatible/writeToParcel.kt | 33 -- .../deleteIncompatible/writeToParcel.kt.after | 29 -- .../testData/quickfix/migrations/basic.kt | 34 -- .../quickfix/migrations/basic.kt.after | 28 -- .../quickfix/migrations/complexCase1.kt | 32 -- .../quickfix/migrations/complexCase1.kt.after | 32 -- .../migrations/customDescribeContents.kt | 34 -- .../customDescribeContents.kt.after | 32 -- .../quickfix/migrations/fromCreatorObject.kt | 30 -- .../migrations/fromCreatorObject.kt.after | 28 -- .../quickfix/migrations/innerClassFactory.kt | 32 -- .../migrations/innerClassFactory.kt.after | 34 -- .../testData/quickfix/migrations/jvmField.kt | 30 -- .../quickfix/migrations/jvmField.kt.after | 24 -- .../migrations/withoutDescribeContents.kt | 30 -- .../withoutDescribeContents.kt.after | 28 -- .../alreadyHasSupertype.kt | 13 - .../quickfix/noParcelableSupertype/simple.kt | 10 - .../noParcelableSupertype/simple.kt.after | 10 - .../propertyWontBeSerialized/simple.kt | 12 - .../propertyWontBeSerialized/simple.kt.after | 14 - .../simple.kt | 17 - .../simple.kt.after | 17 - .../ide/test/AbstractParcelizeCheckerTest.kt | 20 -- .../ide/test/AbstractParcelizeQuickFixTest.kt | 33 -- .../test/ParcelizeCheckerTestGenerated.java | 106 ------- .../test/ParcelizeQuickFixTestGenerated.java | 225 -------------- .../pacelize/ide/test/parcelizeTestUtil.kt | 23 -- 60 files changed, 2155 deletions(-) delete mode 100644 plugins/parcelize/parcelize-ide/build.gradle.kts delete mode 100644 plugins/parcelize/parcelize-ide/resources/messages/KotlinParcelizeBundle.properties delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeAnnotationChecker.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeCodegenExtension.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeDeclarationChecker.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeDeclarationCheckerComponentContainerContributor.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeResolveExtension.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/KotlinParcelizeBundle.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeAvailability.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeProjectResolverExtension.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeUltraLightClassModifierExtension.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/AbstractParcelizeQuickFix.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/AnnotateWithParcelizeQuickFix.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelMigrateToParcelizeQuickFix.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelRemoveCustomCreatorProperty.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelRemoveCustomWriteToParcel.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddIgnoreOnParcelAnnotationQuickFix.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddPrimaryConstructorQuickFix.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddSupertypeQuickFix.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeQuickFixContributor.kt delete mode 100644 plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeRemoveDuplicatingTypeParcelerAnnotationQuickFix.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/noQuickFix.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/alreadyHasSupertype.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt delete mode 100644 plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt.after delete mode 100644 plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/AbstractParcelizeCheckerTest.kt delete mode 100644 plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/AbstractParcelizeQuickFixTest.kt delete mode 100644 plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/ParcelizeCheckerTestGenerated.java delete mode 100644 plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/ParcelizeQuickFixTestGenerated.java delete mode 100644 plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/parcelizeTestUtil.kt diff --git a/plugins/parcelize/parcelize-ide/build.gradle.kts b/plugins/parcelize/parcelize-ide/build.gradle.kts deleted file mode 100644 index ec1a4eda3a7..00000000000 --- a/plugins/parcelize/parcelize-ide/build.gradle.kts +++ /dev/null @@ -1,53 +0,0 @@ -description = "IDE support for the Parcelize compiler plugin" - -plugins { - kotlin("jvm") - id("jps-compatible") -} - -dependencies { - compile(project(":compiler:util")) - compile(project(":compiler:plugin-api")) - compile(project(":compiler:frontend")) - compile(project(":compiler:frontend.java")) - compile(project(":compiler:light-classes")) - compile(project(":idea")) - compile(project(":idea:idea-gradle")) - compile(project(":plugins:parcelize:parcelize-compiler")) - compile(project(":plugins:parcelize:parcelize-runtime")) - - compile(intellijDep()) - compile(intellijPluginDep("gradle")) - compileOnly(intellijPluginDep("java")) { includeJars("java-api", "java-impl") } - - testApi(projectTests(":idea")) - testApi(projectTests(":plugins:parcelize:parcelize-compiler")) - - testRuntime(project(":allopen-ide-plugin")) - testRuntime(project(":noarg-ide-plugin")) - testRuntime(project(":kotlin-scripting-idea")) { isTransitive = false } - testRuntime(project(":kotlin-scripting-compiler-impl")) - testRuntime(project(":sam-with-receiver-ide-plugin")) - testRuntime(project(":kotlinx-serialization-ide-plugin")) - - testRuntime(toolsJar()) - - testRuntimeOnly(intellijPluginDep("java")) -} - -sourceSets { - "main" { projectDefault() } - "test" { projectDefault() } -} - -runtimeJar() -javadocJar() -sourcesJar() - -testsJar {} - -projectTest(parallel = true) { - dependsOn(":dist") - workingDir = rootDir - useAndroidJar() -} diff --git a/plugins/parcelize/parcelize-ide/resources/messages/KotlinParcelizeBundle.properties b/plugins/parcelize/parcelize-ide/resources/messages/KotlinParcelizeBundle.properties deleted file mode 100644 index 657459494fd..00000000000 --- a/plugins/parcelize/parcelize-ide/resources/messages/KotlinParcelizeBundle.properties +++ /dev/null @@ -1,8 +0,0 @@ -parcelize.fix.annotate.containing.class.with.parcelize=Annotate containing class with ''@Parcelize'' -parcelize.fix.add.ignored.on.parcel.annotation=Add ''@IgnoredOnParcel'' annotation -parcelize.fix.add.empty.primary.constructor=Add empty primary constructor -parcelize.fix.add.parcelable.supertype=Add ''Parcelable'' supertype -parcelize.fix.remove.redundant.type.parceler.annotation=Remove redundant ''@TypeParceler'' annotation -parcelize.fix.migrate.to.parceler.companion.object=Migrate to ''Parceler'' companion object -parcelize.fix.remove.custom.creator.property=Remove custom ''CREATOR'' property -parcelize.fix.remove.custom.write.to.parcel.function=Remove custom ''writeToParcel()'' function \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeAnnotationChecker.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeAnnotationChecker.kt deleted file mode 100644 index f6f97a5344b..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeAnnotationChecker.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.parcelize.ParcelizeAnnotationChecker -import org.jetbrains.kotlin.resolve.calls.checkers.CallCheckerContext -import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall - -class IdeParcelizeAnnotationChecker : ParcelizeAnnotationChecker() { - override fun check(resolvedCall: ResolvedCall<*>, reportOn: PsiElement, context: CallCheckerContext) { - if (!ParcelizeAvailability.isAvailable(resolvedCall.call.callElement)) { - return - } - - super.check(resolvedCall, reportOn, context) - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeCodegenExtension.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeCodegenExtension.kt deleted file mode 100644 index e3563f879b7..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeCodegenExtension.kt +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.parcelize.ParcelizeCodegenExtension - -class IdeParcelizeCodegenExtension : ParcelizeCodegenExtension() { - override fun isAvailable(element: PsiElement): Boolean { - return ParcelizeAvailability.isAvailable(element) - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeDeclarationChecker.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeDeclarationChecker.kt deleted file mode 100644 index 29e13bca927..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeDeclarationChecker.kt +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.parcelize.ParcelizeDeclarationChecker -import org.jetbrains.kotlin.psi.KtDeclaration -import org.jetbrains.kotlin.resolve.checkers.DeclarationCheckerContext - -class IdeParcelizeDeclarationChecker : ParcelizeDeclarationChecker() { - override fun check(declaration: KtDeclaration, descriptor: DeclarationDescriptor, context: DeclarationCheckerContext) { - if (!ParcelizeAvailability.isAvailable(declaration)) { - return - } - - super.check(declaration, descriptor, context) - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeDeclarationCheckerComponentContainerContributor.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeDeclarationCheckerComponentContainerContributor.kt deleted file mode 100644 index acebac671dc..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeDeclarationCheckerComponentContainerContributor.kt +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import org.jetbrains.kotlin.container.StorageComponentContainer -import org.jetbrains.kotlin.container.useInstance -import org.jetbrains.kotlin.descriptors.ModuleDescriptor -import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor -import org.jetbrains.kotlin.platform.TargetPlatform -import org.jetbrains.kotlin.platform.jvm.isJvm - -class IdeParcelizeDeclarationCheckerComponentContainerContributor : StorageComponentContainerContributor { - override fun registerModuleComponents( - container: StorageComponentContainer, - platform: TargetPlatform, - moduleDescriptor: ModuleDescriptor, - ) { - if (platform.isJvm()) { - container.useInstance(IdeParcelizeDeclarationChecker()) - container.useInstance(IdeParcelizeAnnotationChecker()) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeResolveExtension.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeResolveExtension.kt deleted file mode 100644 index 2cc6e3356e4..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/IdeParcelizeResolveExtension.kt +++ /dev/null @@ -1,15 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.parcelize.ParcelizeResolveExtension - -class IdeParcelizeResolveExtension : ParcelizeResolveExtension() { - override fun isAvailable(element: PsiElement): Boolean { - return ParcelizeAvailability.isAvailable(element) - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/KotlinParcelizeBundle.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/KotlinParcelizeBundle.kt deleted file mode 100644 index 9dffb2b0523..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/KotlinParcelizeBundle.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import org.jetbrains.annotations.NonNls -import org.jetbrains.annotations.PropertyKey -import org.jetbrains.kotlin.util.AbstractKotlinBundle - -@NonNls -private const val BUNDLE = "messages.KotlinParcelizeBundle" - -object KotlinParcelizeBundle : AbstractKotlinBundle(BUNDLE) { - @JvmStatic - fun message(@NonNls @PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any): String = - @Suppress("NULLABILITY_MISMATCH_BASED_ON_JAVA_ANNOTATIONS") - getMessage(key, *params) -} diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeAvailability.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeAvailability.kt deleted file mode 100644 index 6cba9bbdd1e..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeAvailability.kt +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import com.intellij.openapi.application.ApplicationManager -import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil -import com.intellij.openapi.externalSystem.util.ExternalSystemUtil -import com.intellij.openapi.module.Module -import com.intellij.psi.PsiElement -import org.jetbrains.kotlin.idea.util.module -import org.jetbrains.plugins.gradle.service.project.GradleProjectResolverUtil -import org.jetbrains.plugins.gradle.util.GradleConstants - -object ParcelizeAvailability { - fun isAvailable(element: PsiElement): Boolean { - if (ApplicationManager.getApplication().isUnitTestMode) { - return true - } - - val module = element.module ?: return false - return isAvailable(module) - } - - fun isAvailable(module: Module): Boolean { - if (ApplicationManager.getApplication().isUnitTestMode) { - return true - } - - val path = ExternalSystemApiUtil.getExternalProjectPath(module) ?: return false - val externalProjectInfo = ExternalSystemUtil.getExternalProjectInfo(module.project, GradleConstants.SYSTEM_ID, path) ?: return false - val moduleData = GradleProjectResolverUtil.findModule(externalProjectInfo.externalProjectStructure, path) ?: return false - return ExternalSystemApiUtil.find(moduleData, ParcelizeIdeModel.KEY)?.data?.isEnabled ?: false - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeProjectResolverExtension.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeProjectResolverExtension.kt deleted file mode 100644 index fe2ce61898e..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeProjectResolverExtension.kt +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import com.intellij.openapi.externalSystem.model.DataNode -import com.intellij.openapi.externalSystem.model.Key -import com.intellij.openapi.externalSystem.model.ProjectKeys -import com.intellij.openapi.externalSystem.model.project.AbstractExternalEntityData -import com.intellij.openapi.externalSystem.model.project.ModuleData -import com.intellij.openapi.externalSystem.service.project.manage.AbstractProjectDataService -import com.intellij.serialization.PropertyMapping -import org.gradle.tooling.model.idea.IdeaModule -import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension -import org.jetbrains.plugins.gradle.util.GradleConstants - -class ParcelizeIdeModel @PropertyMapping("isEnabled") constructor( - val isEnabled: Boolean -) : AbstractExternalEntityData(GradleConstants.SYSTEM_ID) { - companion object { - val KEY = Key.create(ParcelizeIdeModel::class.java, ProjectKeys.CONTENT_ROOT.processingWeight + 1) - } -} - -class ParcelizeIdeModelDataService : AbstractProjectDataService() { - override fun getTargetDataKey() = ParcelizeIdeModel.KEY -} - -@Suppress("unused") -class ParcelizeProjectResolverExtension : AbstractProjectResolverExtension() { - override fun getExtraProjectModelClasses() = setOf(ParcelizeGradleModel::class.java) - override fun getToolingExtensionsClasses() = setOf(ParcelizeModelBuilderService::class.java, Unit::class.java) - - override fun populateModuleExtraModels(gradleModule: IdeaModule, ideModule: DataNode) { - val parcelizeModel = resolverCtx.getExtraProject(gradleModule, ParcelizeGradleModel::class.java) - - if (parcelizeModel != null && parcelizeModel.isEnabled) { - ideModule.createChild(ParcelizeIdeModel.KEY, ParcelizeIdeModel(isEnabled = parcelizeModel.isEnabled)) - } - - super.populateModuleExtraModels(gradleModule, ideModule) - } -} - diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeUltraLightClassModifierExtension.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeUltraLightClassModifierExtension.kt deleted file mode 100644 index a6c28261697..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/ParcelizeUltraLightClassModifierExtension.kt +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.parcelize.ide - -import com.intellij.psi.impl.light.LightFieldBuilder -import org.jetbrains.kotlin.parcelize.serializers.ParcelizeExtensionBase -import org.jetbrains.kotlin.asJava.UltraLightClassModifierExtension -import org.jetbrains.kotlin.asJava.classes.KtUltraLightClass -import org.jetbrains.kotlin.asJava.classes.createGeneratedMethodFromDescriptor -import org.jetbrains.kotlin.asJava.elements.KtLightField -import org.jetbrains.kotlin.asJava.elements.KtLightFieldImpl -import org.jetbrains.kotlin.asJava.elements.KtLightMethod -import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.descriptors.DeclarationDescriptor -import org.jetbrains.kotlin.idea.util.module -import org.jetbrains.kotlin.parcelize.ParcelizeSyntheticComponent -import org.jetbrains.kotlin.psi.KtDeclaration -import org.jetbrains.kotlin.util.isAnnotated -import org.jetbrains.kotlin.util.isOrdinaryClass - -class ParcelizeUltraLightClassModifierExtension : ParcelizeExtensionBase, UltraLightClassModifierExtension { - private fun tryGetParcelizeClass(declaration: KtDeclaration, descriptor: Lazy): ClassDescriptor? { - if (!declaration.isOrdinaryClass || !declaration.isAnnotated) { - return null - } - - val module = declaration.module - if (module == null || !ParcelizeAvailability.isAvailable(module)) { - return null - } - - val descriptorValue = descriptor.value ?: return null - val parcelizeClass = (descriptorValue as? ClassDescriptor) ?: descriptorValue.containingDeclaration as? ClassDescriptor - - if (parcelizeClass == null || !parcelizeClass.isParcelizeClassDescriptor) { - return null - } - - return parcelizeClass - } - - override fun interceptFieldsBuilding( - declaration: KtDeclaration, - descriptor: Lazy, - containingDeclaration: KtUltraLightClass, - fieldsList: MutableList - ) { - val parcelizeClass = tryGetParcelizeClass(declaration, descriptor) ?: return - if (parcelizeClass.hasCreatorField()) return - - val fieldWrapper = KtLightFieldImpl.KtLightFieldForSourceDeclaration( - origin = null, - computeDelegate = { - LightFieldBuilder("CREATOR", "android.os.Parcelable.Creator", containingDeclaration).also { - it.setModifiers("public", "static", "final") - } - }, - containingClass = containingDeclaration, - dummyDelegate = null - ) - - fieldsList.add(fieldWrapper) - } - - override fun interceptMethodsBuilding( - declaration: KtDeclaration, - descriptor: Lazy, - containingDeclaration: KtUltraLightClass, - methodsList: MutableList - ) { - val parcelizeClass = tryGetParcelizeClass(declaration, descriptor) ?: return - - with(parcelizeClass) { - if (hasSyntheticDescribeContents()) { - findFunction(ParcelizeSyntheticComponent.ComponentKind.DESCRIBE_CONTENTS)?.let { - methodsList.add( - containingDeclaration.createGeneratedMethodFromDescriptor(it) - ) - } - } - - if (hasSyntheticWriteToParcel()) { - findFunction(ParcelizeSyntheticComponent.ComponentKind.WRITE_TO_PARCEL)?.let { - methodsList.add( - containingDeclaration.createGeneratedMethodFromDescriptor(it) - ) - } - } - } - } - -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/AbstractParcelizeQuickFix.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/AbstractParcelizeQuickFix.kt deleted file mode 100644 index 22e9210dd1e..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/AbstractParcelizeQuickFix.kt +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import com.intellij.codeInsight.intention.IntentionAction -import com.intellij.openapi.editor.Editor -import com.intellij.openapi.project.Project -import org.jetbrains.kotlin.diagnostics.Diagnostic -import org.jetbrains.kotlin.idea.core.ShortenReferences -import org.jetbrains.kotlin.idea.quickfix.KotlinQuickFixAction -import org.jetbrains.kotlin.idea.quickfix.KotlinSingleIntentionActionFactory -import org.jetbrains.kotlin.psi.KtElement -import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi.KtPsiFactory -import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType - -abstract class AbstractParcelizeQuickFix(element: T) : KotlinQuickFixAction(element) { - protected companion object { - fun T.shortenReferences() = ShortenReferences.DEFAULT.process(this) - } - - override fun getFamilyName() = text - - abstract fun invoke(ktPsiFactory: KtPsiFactory, element: T) - - final override fun invoke(project: Project, editor: Editor?, file: KtFile) { - val clazz = element ?: return - val ktPsiFactory = KtPsiFactory(project, markGenerated = true) - invoke(ktPsiFactory, clazz) - } - - abstract class AbstractFactory(private val f: Diagnostic.() -> IntentionAction?) : KotlinSingleIntentionActionFactory() { - companion object { - inline fun Diagnostic.findElement() = psiElement.getNonStrictParentOfType() - } - - override fun createAction(diagnostic: Diagnostic) = f(diagnostic) - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/AnnotateWithParcelizeQuickFix.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/AnnotateWithParcelizeQuickFix.kt deleted file mode 100644 index 227d0a4a08e..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/AnnotateWithParcelizeQuickFix.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import kotlinx.parcelize.Parcelize -import org.jetbrains.kotlin.idea.util.addAnnotation -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.parcelize.diagnostic.ErrorsParcelize -import org.jetbrains.kotlin.parcelize.ide.KotlinParcelizeBundle -import org.jetbrains.kotlin.psi.KtClassOrObject -import org.jetbrains.kotlin.psi.KtPsiFactory - -class AnnotateWithParcelizeQuickFix(clazz: KtClassOrObject) : AbstractParcelizeQuickFix(clazz) { - object Factory : AbstractFactory( - { - val targetClass = ErrorsParcelize.CLASS_SHOULD_BE_PARCELIZE.cast(this).a - AnnotateWithParcelizeQuickFix(targetClass) - } - ) - - override fun getText() = KotlinParcelizeBundle.message("parcelize.fix.annotate.containing.class.with.parcelize") - - override fun invoke(ktPsiFactory: KtPsiFactory, element: KtClassOrObject) { - element.addAnnotation(FqName(Parcelize::class.java.name)) - } -} diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelMigrateToParcelizeQuickFix.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelMigrateToParcelizeQuickFix.kt deleted file mode 100644 index 97442c9a055..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelMigrateToParcelizeQuickFix.kt +++ /dev/null @@ -1,291 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import com.intellij.openapi.diagnostic.Logger -import kotlinx.parcelize.Parceler -import org.jetbrains.kotlin.parcelize.ANDROID_PARCELABLE_CREATOR_CLASS_FQNAME -import org.jetbrains.kotlin.parcelize.ANDROID_PARCEL_CLASS_FQNAME -import org.jetbrains.kotlin.builtins.KotlinBuiltIns -import org.jetbrains.kotlin.builtins.StandardNames -import org.jetbrains.kotlin.descriptors.ClassDescriptor -import org.jetbrains.kotlin.descriptors.ConstructorDescriptor -import org.jetbrains.kotlin.idea.caches.resolve.analyze -import org.jetbrains.kotlin.idea.caches.resolve.resolveToCall -import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptorIfAny -import org.jetbrains.kotlin.idea.core.getOrCreateCompanionObject -import org.jetbrains.kotlin.idea.intentions.branchedTransformations.unwrapBlockOrParenthesis -import org.jetbrains.kotlin.idea.util.findAnnotation -import org.jetbrains.kotlin.lexer.KtTokens -import org.jetbrains.kotlin.load.java.JvmAbi.JVM_FIELD_ANNOTATION_FQ_NAME -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.name.Name -import org.jetbrains.kotlin.parcelize.ide.KotlinParcelizeBundle -import org.jetbrains.kotlin.psi.* -import org.jetbrains.kotlin.psi.addRemoveModifier.setModifierList -import org.jetbrains.kotlin.psi.psiUtil.containingClass -import org.jetbrains.kotlin.psi.psiUtil.containingClassOrObject -import org.jetbrains.kotlin.psi.psiUtil.getStrictParentOfType -import org.jetbrains.kotlin.psi.typeRefHelpers.setReceiverTypeReference -import org.jetbrains.kotlin.resolve.BindingContext -import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe -import org.jetbrains.kotlin.resolve.descriptorUtil.getAllSuperClassifiers -import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode -import org.jetbrains.kotlin.resolve.source.KotlinSourceElement -import org.jetbrains.kotlin.types.TypeUtils - -class ParcelMigrateToParcelizeQuickFix(function: KtClass) : AbstractParcelizeQuickFix(function) { - companion object { - private val PARCELER_FQNAME = FqName(Parceler::class.java.name) - private val PARCELER_WRITE_FUNCTION_NAME = Name.identifier("write") - private val PARCELER_CREATE_FUNCTION_NAME = Name.identifier("create") - private val LOG = Logger.getInstance(ParcelMigrateToParcelizeQuickFix::class.java) - - private fun KtClass.findParcelerCompanionObject(): Pair? { - for (obj in companionObjects) { - val objDescriptor = obj.resolveToDescriptorIfAny() ?: continue - for (superClassifier in objDescriptor.getAllSuperClassifiers()) { - val superClass = superClassifier as? ClassDescriptor ?: continue - if (superClass.fqNameSafe == PARCELER_FQNAME) return Pair(obj, objDescriptor) - } - } - - return null - } - - private fun KtNamedFunction.doesLookLikeWriteToParcelOverride(): Boolean { - return name == "writeToParcel" - && hasModifier(KtTokens.OVERRIDE_KEYWORD) - && receiverTypeReference == null - && valueParameters.size == 2 - && typeParameters.size == 0 - && valueParameters[0].typeReference?.getFqName() == ANDROID_PARCEL_CLASS_FQNAME.asString() - && valueParameters[1].typeReference?.getFqName() == StandardNames.FqNames._int.asString() - } - - private fun KtNamedFunction.doesLookLikeNewArrayOverride(): Boolean { - return name == "newArray" - && hasModifier(KtTokens.OVERRIDE_KEYWORD) - && receiverTypeReference == null - && valueParameters.size == 1 - && typeParameters.size == 0 - && valueParameters[0].typeReference?.getFqName() == StandardNames.FqNames._int.asString() - } - - private fun KtNamedFunction.doesLookLikeDescribeContentsOverride(): Boolean { - return name == "describeContents" - && hasModifier(KtTokens.OVERRIDE_KEYWORD) - && receiverTypeReference == null - && valueParameters.size == 0 - && typeParameters.size == 0 - && typeReference?.getFqName() == StandardNames.FqNames._int.asString() - } - - private fun KtClass.findWriteToParcelOverride() = findFunction { doesLookLikeWriteToParcelOverride() } - private fun KtClass.findDescribeContentsOverride() = findFunction { doesLookLikeDescribeContentsOverride() } - private fun KtObjectDeclaration.findNewArrayOverride() = findFunction { doesLookLikeNewArrayOverride() } - - private fun KtClass.findCreatorClass(): KtClassOrObject? { - for (companion in companionObjects) { - if (companion.name == "CREATOR") { - return companion - } - - val creatorProperty = companion.declarations.asSequence() - .filterIsInstance() - .firstOrNull { it.name == "CREATOR" } - ?: continue - - creatorProperty.findAnnotation(JVM_FIELD_ANNOTATION_FQ_NAME) ?: continue - - val initializer = creatorProperty.initializer ?: continue - when (initializer) { - is KtObjectLiteralExpression -> return initializer.objectDeclaration - is KtCallExpression -> { - val constructedClass = (initializer.resolveToCall() - ?.resultingDescriptor as? ConstructorDescriptor)?.constructedClass - if (constructedClass != null) { - val sourceElement = constructedClass.source as? KotlinSourceElement - (sourceElement?.psi as? KtClassOrObject)?.let { return it } - } - } - } - } - - return null - } - - private fun KtNamedFunction.doesLookLikeCreateFromParcelOverride(): Boolean { - return name == "createFromParcel" - && hasModifier(KtTokens.OVERRIDE_KEYWORD) - && receiverTypeReference == null - && valueParameters.size == 1 - && typeParameters.size == 0 - && valueParameters[0].typeReference?.getFqName() == ANDROID_PARCEL_CLASS_FQNAME.asString() - } - - private fun findCreateFromParcel(creator: KtClassOrObject) = creator.findFunction { doesLookLikeCreateFromParcelOverride() } - - private fun KtNamedFunction.doesLookLikeWriteImplementation(): Boolean { - val containingParcelableClassFqName = containingClassOrObject?.containingClass()?.fqName?.asString() - - return name == PARCELER_WRITE_FUNCTION_NAME.asString() - && hasModifier(KtTokens.OVERRIDE_KEYWORD) - && receiverTypeReference?.getFqName() == containingParcelableClassFqName - && valueParameters.size == 2 - && typeParameters.size == 0 - && valueParameters[0].typeReference?.getFqName() == ANDROID_PARCEL_CLASS_FQNAME.asString() - && valueParameters[1].typeReference?.getFqName() == StandardNames.FqNames._int.asString() - } - - private fun KtNamedFunction.doesLookLikeCreateImplementation(): Boolean { - return name == PARCELER_CREATE_FUNCTION_NAME.asString() - && hasModifier(KtTokens.OVERRIDE_KEYWORD) - && receiverTypeReference == null - && valueParameters.size == 1 - && typeParameters.size == 0 - && valueParameters[0].typeReference?.getFqName() == ANDROID_PARCEL_CLASS_FQNAME.asString() - } - - private fun KtObjectDeclaration.findCreateImplementation() = findFunction { doesLookLikeCreateImplementation() } - private fun KtObjectDeclaration.findWriteImplementation() = findFunction { doesLookLikeWriteImplementation() } - - private fun KtClassOrObject.findFunction(f: KtNamedFunction.() -> Boolean) = - declarations.asSequence().filterIsInstance().firstOrNull(f) - - private fun KtTypeReference.getFqName(): String? = analyze(BodyResolveMode.PARTIAL)[BindingContext.TYPE, this] - ?.constructor?.declarationDescriptor?.fqNameSafe?.asString() - } - - object FactoryForWrite : AbstractFactory({ findElement()?.let { ParcelMigrateToParcelizeQuickFix(it) } }) - - object FactoryForCREATOR : AbstractFactory({ - findElement()?.getStrictParentOfType() - ?.let { ParcelMigrateToParcelizeQuickFix(it) } - }) - - override fun getText() = KotlinParcelizeBundle.message("parcelize.fix.migrate.to.parceler.companion.object") - - @Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE") - override fun invoke(ktPsiFactory: KtPsiFactory, parcelableClass: KtClass) { - val parcelerObject = parcelableClass.findParcelerCompanionObject()?.first ?: parcelableClass.getOrCreateCompanionObject() - val bindingContext = parcelerObject.analyze(BodyResolveMode.PARTIAL) - - val parcelerTypeArg = parcelableClass.name ?: run { - LOG.error("Parceler class should not be an anonymous class") - return - } - - val parcelerObjectDescriptor = bindingContext[BindingContext.CLASS, parcelerObject] ?: run { - LOG.error("Unable to resolve parceler object for ${parcelableClass.name ?: ""}") - return - } - - if (!parcelerObjectDescriptor.getAllSuperClassifiers().any { it.fqNameSafe == PARCELER_FQNAME }) { - val entryText = PARCELER_FQNAME.asString() + "<" + parcelerTypeArg + ">" - parcelerObject.addSuperTypeListEntry(ktPsiFactory.createSuperTypeEntry(entryText)).shortenReferences() - } - - val oldWriteToParcelFunction = parcelableClass.findWriteToParcelOverride() - val oldCreateFromParcelFunction = parcelableClass.findCreatorClass()?.let { findCreateFromParcel(it) } - - for (superTypeEntry in parcelerObject.superTypeListEntries) { - val superClass = - bindingContext[BindingContext.TYPE, superTypeEntry.typeReference]?.constructor?.declarationDescriptor ?: continue - if (superClass.getAllSuperClassifiers().any { it.fqNameSafe == ANDROID_PARCELABLE_CREATOR_CLASS_FQNAME }) { - parcelerObject.removeSuperTypeListEntry(superTypeEntry) - } - } - - if (parcelerObject.name == "CREATOR") { - parcelerObject.nameIdentifier?.delete() - } - - if (oldWriteToParcelFunction != null) { - parcelerObject.findWriteImplementation()?.delete() // Remove old implementation - - val newFunction = oldWriteToParcelFunction.copy() as KtFunction - oldWriteToParcelFunction.delete() - - newFunction.setName(PARCELER_WRITE_FUNCTION_NAME.asString()) - newFunction.setModifierList(ktPsiFactory.createModifierList(KtTokens.OVERRIDE_KEYWORD)) - newFunction.setReceiverTypeReference(ktPsiFactory.createType(parcelerTypeArg)) - newFunction.valueParameterList?.apply { - assert(parameters.size == 2) - val parcelParameterName = parameters[0].name ?: "parcel" - val flagsParameterName = parameters[1].name ?: "flags" - - repeat(parameters.size) { removeParameter(0) } - addParameter(ktPsiFactory.createParameter("$parcelParameterName : ${ANDROID_PARCEL_CLASS_FQNAME.asString()}")) - addParameter(ktPsiFactory.createParameter("$flagsParameterName : Int")) - } - - parcelerObject.addDeclaration(newFunction).valueParameterList?.shortenReferences() - } else if (parcelerObject.findWriteImplementation() == null) { - val writeFunction = "fun $parcelerTypeArg.write(parcel: ${ANDROID_PARCEL_CLASS_FQNAME.asString()}, flags: Int) = TODO()" - parcelerObject.addDeclaration(ktPsiFactory.createFunction(writeFunction)).valueParameterList?.shortenReferences() - } - - if (oldCreateFromParcelFunction != null) { - parcelerObject.findCreateImplementation()?.delete() // Remove old implementation - - val newFunction = oldCreateFromParcelFunction.copy() as KtFunction - if (oldCreateFromParcelFunction.containingClassOrObject == parcelerObject) { - oldCreateFromParcelFunction.delete() - } - - newFunction.setName(PARCELER_CREATE_FUNCTION_NAME.asString()) - newFunction.setModifierList(ktPsiFactory.createModifierList(KtTokens.OVERRIDE_KEYWORD)) - newFunction.setReceiverTypeReference(null) - newFunction.valueParameterList?.apply { - assert(parameters.size == 1) - val parcelParameterName = parameters[0].name ?: "parcel" - - removeParameter(0) - addParameter(ktPsiFactory.createParameter("$parcelParameterName : ${ANDROID_PARCEL_CLASS_FQNAME.asString()}")) - } - - parcelerObject.addDeclaration(newFunction).valueParameterList?.shortenReferences() - } else if (parcelerObject.findCreateImplementation() == null) { - val createFunction = "override fun create(parcel: ${ANDROID_PARCEL_CLASS_FQNAME.asString()}): $parcelerTypeArg = TODO()" - parcelerObject.addDeclaration(ktPsiFactory.createFunction(createFunction)).valueParameterList?.shortenReferences() - } - - // Always use the default newArray() implementation - parcelerObject.findNewArrayOverride()?.delete() - - parcelableClass.findDescribeContentsOverride()?.let { describeContentsFunction -> - val returnExpr = describeContentsFunction.bodyExpression?.unwrapBlockOrParenthesis() - if (returnExpr is KtReturnExpression && returnExpr.getTargetLabel() == null) { - val returnValue = returnExpr.analyze()[BindingContext.COMPILE_TIME_VALUE, returnExpr.returnedExpression] - ?.getValue(TypeUtils.NO_EXPECTED_TYPE) - if (returnValue == 0) { - // There are no additional overrides in the hierarchy - if (bindingContext[BindingContext.FUNCTION, describeContentsFunction]?.overriddenDescriptors?.size == 1) { - describeContentsFunction.delete() - } - } - } - } - - for (property in parcelerObject.declarations.asSequence().filterIsInstance().filter { it.name == "CREATOR" }) { - if (property.findAnnotation(JVM_FIELD_ANNOTATION_FQ_NAME) != null) { - property.delete() - } - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelRemoveCustomCreatorProperty.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelRemoveCustomCreatorProperty.kt deleted file mode 100644 index fbed4497563..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelRemoveCustomCreatorProperty.kt +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import org.jetbrains.kotlin.parcelize.ide.KotlinParcelizeBundle -import org.jetbrains.kotlin.psi.KtProperty -import org.jetbrains.kotlin.psi.KtPsiFactory - -class ParcelRemoveCustomCreatorProperty(property: KtProperty) : AbstractParcelizeQuickFix(property) { - object Factory : AbstractFactory(f@ { - // KtProperty or its name identifier - psiElement as? KtProperty ?: (psiElement.parent as? KtProperty) ?: return@f null - findElement()?.let(::ParcelRemoveCustomCreatorProperty) - }) - - override fun getText() = KotlinParcelizeBundle.message("parcelize.fix.remove.custom.creator.property") - - override fun invoke(ktPsiFactory: KtPsiFactory, element: KtProperty) { - element.delete() - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelRemoveCustomWriteToParcel.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelRemoveCustomWriteToParcel.kt deleted file mode 100644 index ee00ff728e3..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelRemoveCustomWriteToParcel.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import org.jetbrains.kotlin.parcelize.ide.KotlinParcelizeBundle -import org.jetbrains.kotlin.psi.KtFunction -import org.jetbrains.kotlin.psi.KtPsiFactory - -class ParcelRemoveCustomWriteToParcel(function: KtFunction) : AbstractParcelizeQuickFix(function) { - object Factory : AbstractFactory({ findElement()?.let(::ParcelRemoveCustomWriteToParcel) }) - - override fun getText() = KotlinParcelizeBundle.message("parcelize.fix.remove.custom.write.to.parcel.function") - - override fun invoke(ktPsiFactory: KtPsiFactory, element: KtFunction) { - element.delete() - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddIgnoreOnParcelAnnotationQuickFix.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddIgnoreOnParcelAnnotationQuickFix.kt deleted file mode 100644 index 08a0aa6e380..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddIgnoreOnParcelAnnotationQuickFix.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import kotlinx.parcelize.IgnoredOnParcel -import org.jetbrains.kotlin.parcelize.ide.KotlinParcelizeBundle -import org.jetbrains.kotlin.psi.KtProperty -import org.jetbrains.kotlin.psi.KtPsiFactory - -class ParcelizeAddIgnoreOnParcelAnnotationQuickFix(property: KtProperty) : AbstractParcelizeQuickFix(property) { - object Factory : AbstractFactory({ findElement()?.let(::ParcelizeAddIgnoreOnParcelAnnotationQuickFix) }) - - override fun getText() = KotlinParcelizeBundle.message("parcelize.fix.add.ignored.on.parcel.annotation") - - override fun invoke(ktPsiFactory: KtPsiFactory, element: KtProperty) { - element.addAnnotationEntry(ktPsiFactory.createAnnotationEntry("@" + IgnoredOnParcel::class.java.name)).shortenReferences() - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddPrimaryConstructorQuickFix.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddPrimaryConstructorQuickFix.kt deleted file mode 100644 index 6463a9e3d64..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddPrimaryConstructorQuickFix.kt +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import org.jetbrains.kotlin.parcelize.ide.KotlinParcelizeBundle -import org.jetbrains.kotlin.psi.KtClass -import org.jetbrains.kotlin.psi.KtPsiFactory -import org.jetbrains.kotlin.psi.createPrimaryConstructorIfAbsent - -class ParcelizeAddPrimaryConstructorQuickFix(clazz: KtClass) : AbstractParcelizeQuickFix(clazz) { - object Factory : AbstractFactory({ findElement()?.let(::ParcelizeAddPrimaryConstructorQuickFix) }) - - override fun getText() = KotlinParcelizeBundle.message("parcelize.fix.add.empty.primary.constructor") - - override fun invoke(ktPsiFactory: KtPsiFactory, element: KtClass) { - element.createPrimaryConstructorIfAbsent() - - for (secondaryConstructor in element.secondaryConstructors) { - if (secondaryConstructor.getDelegationCall().isImplicit) { - val parameterList = secondaryConstructor.valueParameterList ?: return - val colon = secondaryConstructor.addAfter(ktPsiFactory.createColon(), parameterList) - secondaryConstructor.addAfter(ktPsiFactory.createExpression("this()"), colon) - } - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddSupertypeQuickFix.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddSupertypeQuickFix.kt deleted file mode 100644 index 0c6bfa4357a..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeAddSupertypeQuickFix.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import org.jetbrains.kotlin.parcelize.ANDROID_PARCELABLE_CLASS_FQNAME -import org.jetbrains.kotlin.parcelize.ide.KotlinParcelizeBundle -import org.jetbrains.kotlin.psi.* - -class ParcelizeAddSupertypeQuickFix(clazz: KtClassOrObject) : AbstractParcelizeQuickFix(clazz) { - object Factory : AbstractFactory({ findElement()?.let(::ParcelizeAddSupertypeQuickFix) }) - - override fun getText() = KotlinParcelizeBundle.message("parcelize.fix.add.parcelable.supertype") - - override fun invoke(ktPsiFactory: KtPsiFactory, element: KtClassOrObject) { - val supertypeName = ANDROID_PARCELABLE_CLASS_FQNAME.asString() - element.addSuperTypeListEntry(ktPsiFactory.createSuperTypeEntry(supertypeName)).shortenReferences() - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeQuickFixContributor.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeQuickFixContributor.kt deleted file mode 100644 index 9625e4d7e52..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeQuickFixContributor.kt +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import org.jetbrains.kotlin.idea.quickfix.QuickFixContributor -import org.jetbrains.kotlin.idea.quickfix.QuickFixes -import org.jetbrains.kotlin.idea.quickfix.RemoveModifierFix -import org.jetbrains.kotlin.lexer.KtTokens -import org.jetbrains.kotlin.parcelize.diagnostic.ErrorsParcelize - -class ParcelizeQuickFixContributor : QuickFixContributor { - override fun registerQuickFixes(quickFixes: QuickFixes) { - quickFixes.register( - ErrorsParcelize.PARCELABLE_CANT_BE_INNER_CLASS, - RemoveModifierFix.createRemoveModifierFromListOwnerPsiBasedFactory(KtTokens.INNER_KEYWORD, false) - ) - - quickFixes.register(ErrorsParcelize.NO_PARCELABLE_SUPERTYPE, ParcelizeAddSupertypeQuickFix.Factory) - quickFixes.register(ErrorsParcelize.PARCELABLE_SHOULD_HAVE_PRIMARY_CONSTRUCTOR, ParcelizeAddPrimaryConstructorQuickFix.Factory) - quickFixes.register(ErrorsParcelize.PROPERTY_WONT_BE_SERIALIZED, ParcelizeAddIgnoreOnParcelAnnotationQuickFix.Factory) - - quickFixes.register(ErrorsParcelize.OVERRIDING_WRITE_TO_PARCEL_IS_NOT_ALLOWED, ParcelMigrateToParcelizeQuickFix.FactoryForWrite) - quickFixes.register(ErrorsParcelize.OVERRIDING_WRITE_TO_PARCEL_IS_NOT_ALLOWED, ParcelRemoveCustomWriteToParcel.Factory) - - quickFixes.register(ErrorsParcelize.CREATOR_DEFINITION_IS_NOT_ALLOWED, ParcelMigrateToParcelizeQuickFix.FactoryForCREATOR) - quickFixes.register(ErrorsParcelize.CREATOR_DEFINITION_IS_NOT_ALLOWED, ParcelRemoveCustomCreatorProperty.Factory) - - quickFixes.register(ErrorsParcelize.REDUNDANT_TYPE_PARCELER, ParcelizeRemoveDuplicatingTypeParcelerAnnotationQuickFix.Factory) - quickFixes.register(ErrorsParcelize.CLASS_SHOULD_BE_PARCELIZE, AnnotateWithParcelizeQuickFix.Factory) - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeRemoveDuplicatingTypeParcelerAnnotationQuickFix.kt b/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeRemoveDuplicatingTypeParcelerAnnotationQuickFix.kt deleted file mode 100644 index 7489d7b038d..00000000000 --- a/plugins/parcelize/parcelize-ide/src/org/jetbrains/kotlin/parcelize/ide/quickfixes/ParcelizeRemoveDuplicatingTypeParcelerAnnotationQuickFix.kt +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.parcelize.ide.quickfixes - -import org.jetbrains.kotlin.parcelize.ide.KotlinParcelizeBundle -import org.jetbrains.kotlin.psi.KtAnnotationEntry -import org.jetbrains.kotlin.psi.KtPsiFactory - -class ParcelizeRemoveDuplicatingTypeParcelerAnnotationQuickFix(anno: KtAnnotationEntry) : AbstractParcelizeQuickFix(anno) { - object Factory : AbstractFactory({ findElement()?.let(::ParcelizeRemoveDuplicatingTypeParcelerAnnotationQuickFix) }) - - override fun getText() = KotlinParcelizeBundle.message("parcelize.fix.remove.redundant.type.parceler.annotation") - - override fun invoke(ktPsiFactory: KtPsiFactory, element: KtAnnotationEntry) { - element.delete() - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt deleted file mode 100644 index 11309a8594b..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt +++ /dev/null @@ -1,13 +0,0 @@ -// "Add empty primary constructor" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test : Parcelable { - constructor(s: String) - constructor(s: String, i: Int) : this(s) -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt.after deleted file mode 100644 index df1870eedab..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt.after +++ /dev/null @@ -1,13 +0,0 @@ -// "Add empty primary constructor" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test() : Parcelable { - constructor(s: String) : this() - constructor(s: String, i: Int) : this(s) -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/noQuickFix.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/noQuickFix.kt deleted file mode 100644 index a595ce309be..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/noQuickFix.kt +++ /dev/null @@ -1,11 +0,0 @@ -// "Add empty primary constructor" "false" -// IGNORE_IRRELEVANT_ACTIONS -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test() : Parcelable \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt deleted file mode 100644 index e253ac6492c..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt +++ /dev/null @@ -1,12 +0,0 @@ -// "Add empty primary constructor" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test : Parcelable { - constructor(a: Int) -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt.after deleted file mode 100644 index 37b7137c160..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt.after +++ /dev/null @@ -1,12 +0,0 @@ -// "Add empty primary constructor" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test() : Parcelable { - constructor(a: Int) : this() -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt deleted file mode 100644 index 44aea14794f..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt +++ /dev/null @@ -1,12 +0,0 @@ -// "Remove 'inner' modifier" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -class Foo { - @Parcelize - inner class Bar : Parcelable -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt.after deleted file mode 100644 index bf7d865080c..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt.after +++ /dev/null @@ -1,12 +0,0 @@ -// "Remove 'inner' modifier" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -class Foo { - @Parcelize - class Bar : Parcelable -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt deleted file mode 100644 index 83575068dc4..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt +++ /dev/null @@ -1,15 +0,0 @@ -// "Annotate containing class with ''@Parcelize''" "true" -// ERROR: No 'Parcelable' supertype -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.* - -object StringParceler : Parceler { - override fun create(parcel: Parcel) = TODO() - override fun String.write(parcel: Parcel, flags: Int) = TODO() -} - -class Foo(@TypeParceler val a: String) \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt.after deleted file mode 100644 index 6dd0cb024da..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt.after +++ /dev/null @@ -1,16 +0,0 @@ -// "Annotate containing class with ''@Parcelize''" "true" -// ERROR: No 'Parcelable' supertype -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.* - -object StringParceler : Parceler { - override fun create(parcel: Parcel) = TODO() - override fun String.write(parcel: Parcel, flags: Int) = TODO() -} - -@Parcelize -class Foo(@TypeParceler val a: String) \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt deleted file mode 100644 index 1d02a20d3b7..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt +++ /dev/null @@ -1,36 +0,0 @@ -// "Remove custom ''CREATOR'' property" "true" -// ERROR: Overriding 'writeToParcel' is not allowed. Use 'Parceler' companion object instead -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val a: String) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString()) { - } - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(a) - } - - override fun describeContents(): Int { - return 0 - } - - companion object { - @JvmField - val CREATOR = object : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } - } - -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt.after deleted file mode 100644 index 5719276a9d7..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt.after +++ /dev/null @@ -1,26 +0,0 @@ -// "Remove custom ''CREATOR'' property" "true" -// ERROR: Overriding 'writeToParcel' is not allowed. Use 'Parceler' companion object instead -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val a: String) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString()) { - } - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(a) - } - - override fun describeContents(): Int { - return 0 - } - - companion object { - } - -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt deleted file mode 100644 index 436125602f3..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt +++ /dev/null @@ -1,33 +0,0 @@ -// "Remove custom ''writeToParcel()'' function" "true" -// ERROR: 'CREATOR' definition is not allowed. Use 'Parceler' companion object instead -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val a: String) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString()) { - } - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(a) - } - - override fun describeContents(): Int { - return 0 - } - - companion object CREATOR : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } - -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt.after deleted file mode 100644 index 685d98d6866..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt.after +++ /dev/null @@ -1,29 +0,0 @@ -// "Remove custom ''writeToParcel()'' function" "true" -// ERROR: 'CREATOR' definition is not allowed. Use 'Parceler' companion object instead -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val a: String) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString()) { - } - - override fun describeContents(): Int { - return 0 - } - - companion object CREATOR : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } - -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt deleted file mode 100644 index 97dc4d327c5..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt +++ /dev/null @@ -1,34 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this( - parcel.readString(), - parcel.readInt()) { - } - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun describeContents(): Int { - return 0 - } - - companion object CREATOR : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt.after deleted file mode 100644 index e705df523c7..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt.after +++ /dev/null @@ -1,28 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parceler -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this( - parcel.readString(), - parcel.readInt()) { - } - - companion object : Parceler { - - override fun Foo.write(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun create(parcel: Parcel): Foo { - return Foo(parcel) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt deleted file mode 100644 index 05175514a3c..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt +++ /dev/null @@ -1,32 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString(), parcel.readInt()) - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - companion object { - @JvmField - val CREATOR: Parcelable.Creator = object : Creator() {} - } - - private abstract class Creator : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt.after deleted file mode 100644 index fbad44f17f3..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt.after +++ /dev/null @@ -1,32 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parceler -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString(), parcel.readInt()) - - companion object : Parceler { - override fun Foo.write(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun create(parcel: Parcel): Foo = TODO() - } - - private abstract class Creator : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt deleted file mode 100644 index afe6eaffc0c..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt +++ /dev/null @@ -1,34 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this( - parcel.readString(), - parcel.readInt()) { - } - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun describeContents(): Int { - return 50 - } - - companion object CREATOR : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt.after deleted file mode 100644 index 4cc031c8182..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt.after +++ /dev/null @@ -1,32 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parceler -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this( - parcel.readString(), - parcel.readInt()) { - } - - override fun describeContents(): Int { - return 50 - } - - companion object : Parceler { - - override fun Foo.write(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun create(parcel: Parcel): Foo { - return Foo(parcel) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt deleted file mode 100644 index 5a8b72a828c..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt +++ /dev/null @@ -1,30 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this( - parcel.readString(), - parcel.readInt()) { - } - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - companion object CREATOR : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt.after deleted file mode 100644 index c7a71087fd4..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt.after +++ /dev/null @@ -1,28 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parceler -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this( - parcel.readString(), - parcel.readInt()) { - } - - companion object : Parceler { - - override fun Foo.write(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun create(parcel: Parcel): Foo { - return Foo(parcel) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt deleted file mode 100644 index bc5b5cd9b5b..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt +++ /dev/null @@ -1,32 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString(), parcel.readInt()) - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - companion object { - @JvmField - val CREATOR: Parcelable.Creator = Creator() - } - - private class Creator : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt.after deleted file mode 100644 index 3f2e605502b..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt.after +++ /dev/null @@ -1,34 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parceler -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString(), parcel.readInt()) - - companion object : Parceler { - override fun Foo.write(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun create(parcel: Parcel): Foo { - return Foo(parcel) - } - } - - private class Creator : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt deleted file mode 100644 index 06cfa0c88ac..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt +++ /dev/null @@ -1,30 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString(), parcel.readInt()) - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - companion object { - @JvmField - val CREATOR = object : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt.after deleted file mode 100644 index d75a64c8f7e..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt.after +++ /dev/null @@ -1,24 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parceler -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this(parcel.readString(), parcel.readInt()) - - companion object : Parceler { - override fun Foo.write(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun create(parcel: Parcel): Foo { - return Foo(parcel) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt deleted file mode 100644 index f733d22887a..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt +++ /dev/null @@ -1,30 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this( - parcel.readString(), - parcel.readInt()) { - } - - override fun writeToParcel(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - companion object CREATOR : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): Foo { - return Foo(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt.after deleted file mode 100644 index e705df523c7..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt.after +++ /dev/null @@ -1,28 +0,0 @@ -// "Migrate to ''Parceler'' companion object" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.Parceler -import kotlinx.parcelize.Parcelize - -@Parcelize -class Foo(val firstName: String, val age: Int) : Parcelable { - constructor(parcel: Parcel) : this( - parcel.readString(), - parcel.readInt()) { - } - - companion object : Parceler { - - override fun Foo.write(parcel: Parcel, flags: Int) { - parcel.writeString(firstName) - parcel.writeInt(age) - } - - override fun create(parcel: Parcel): Foo { - return Foo(parcel) - } - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/alreadyHasSupertype.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/alreadyHasSupertype.kt deleted file mode 100644 index 1032b883520..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/alreadyHasSupertype.kt +++ /dev/null @@ -1,13 +0,0 @@ -// "Add ''Parcelable'' supertype" "false" -// IGNORE_IRRELEVANT_ACTIONS -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -abstract class AbstractParcelable : Parcelable - -@Parcelize -class Test(val s: String) : AbstractParcelable() \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt deleted file mode 100644 index 1b6dbd64327..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt +++ /dev/null @@ -1,10 +0,0 @@ -// "Add ''Parcelable'' supertype" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test(val s: String) \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt.after deleted file mode 100644 index f5b7d8c3890..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt.after +++ /dev/null @@ -1,10 +0,0 @@ -// "Add ''Parcelable'' supertype" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test(val s: String) : Parcelable \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt deleted file mode 100644 index 82e747f0d47..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt +++ /dev/null @@ -1,12 +0,0 @@ -// "Add ''@IgnoredOnParcel'' annotation" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test : Parcelable { - val a = 5 -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt.after deleted file mode 100644 index 155a8f4760b..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt.after +++ /dev/null @@ -1,14 +0,0 @@ -// "Add ''@IgnoredOnParcel'' annotation" "true" -// WITH_STDLIB - -package com.myapp.activity - -import android.os.Parcelable -import kotlinx.parcelize.IgnoredOnParcel -import kotlinx.parcelize.Parcelize - -@Parcelize -class Test : Parcelable { - @IgnoredOnParcel - val a = 5 -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt b/plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt deleted file mode 100644 index c4dd1c863bb..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt +++ /dev/null @@ -1,17 +0,0 @@ -// "Remove redundant ''@TypeParceler'' annotation" "true" -// WARNING: This annotation duplicates the one for Class 'Foo' -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.* - -object StringParceler : Parceler { - override fun create(parcel: Parcel) = TODO() - override fun String.write(parcel: Parcel, flags: Int) = TODO() -} - -@Parcelize -@TypeParceler -class Foo(@TypeParceler val a: String) : Parcelable \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt.after b/plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt.after deleted file mode 100644 index c116e8c37b1..00000000000 --- a/plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt.after +++ /dev/null @@ -1,17 +0,0 @@ -// "Remove redundant ''@TypeParceler'' annotation" "true" -// WARNING: This annotation duplicates the one for Class 'Foo' -// WITH_STDLIB - -package com.myapp.activity - -import android.os.* -import kotlinx.parcelize.* - -object StringParceler : Parceler { - override fun create(parcel: Parcel) = TODO() - override fun String.write(parcel: Parcel, flags: Int) = TODO() -} - -@Parcelize -@TypeParceler -class Foo(val a: String) : Parcelable \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/AbstractParcelizeCheckerTest.kt b/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/AbstractParcelizeCheckerTest.kt deleted file mode 100644 index cc5cca8bcf3..00000000000 --- a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/AbstractParcelizeCheckerTest.kt +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.pacelize.ide.test - -import org.jetbrains.kotlin.checkers.AbstractKotlinHighlightingPassTest - -abstract class AbstractParcelizeCheckerTest : AbstractKotlinHighlightingPassTest() { - override fun setUp() { - super.setUp() - addParcelizeLibraries(module) - } - - override fun tearDown() { - removeParcelizeLibraries(module) - super.tearDown() - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/AbstractParcelizeQuickFixTest.kt b/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/AbstractParcelizeQuickFixTest.kt deleted file mode 100644 index df21f9f1036..00000000000 --- a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/AbstractParcelizeQuickFixTest.kt +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.pacelize.ide.test - -import org.jetbrains.kotlin.idea.quickfix.AbstractQuickFixTest -import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil -import org.jetbrains.kotlin.test.KotlinTestUtils - -abstract class AbstractParcelizeQuickFixTest : AbstractQuickFixTest() { - override fun setUp() { - super.setUp() - addParcelizeLibraries(module) - } - - override fun tearDown() { - removeParcelizeLibraries(module) - super.tearDown() - } -} \ No newline at end of file diff --git a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/ParcelizeCheckerTestGenerated.java b/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/ParcelizeCheckerTestGenerated.java deleted file mode 100644 index 0000bb862c7..00000000000 --- a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/ParcelizeCheckerTestGenerated.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.pacelize.ide.test; - -import com.intellij.testFramework.TestDataPath; -import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.jetbrains.kotlin.test.TestMetadata; -import org.junit.runner.RunWith; - -import java.io.File; -import java.util.regex.Pattern; - -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("plugins/parcelize/parcelize-ide/testData/checker") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class ParcelizeCheckerTestGenerated extends AbstractParcelizeCheckerTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInChecker() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/checker"), Pattern.compile("^(.+)\\.kt$"), null, true); - } - - @TestMetadata("constructors.kt") - public void testConstructors() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/constructors.kt"); - } - - @TestMetadata("customCreator.kt") - public void testCustomCreator() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/customCreator.kt"); - } - - @TestMetadata("customParcelers.kt") - public void testCustomParcelers() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/customParcelers.kt"); - } - - @TestMetadata("customWriteToParcel.kt") - public void testCustomWriteToParcel() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/customWriteToParcel.kt"); - } - - @TestMetadata("delegate.kt") - public void testDelegate() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/delegate.kt"); - } - - @TestMetadata("deprecatedAnnotations.kt") - public void testDeprecatedAnnotations() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/deprecatedAnnotations.kt"); - } - - @TestMetadata("emptyPrimaryConstructor.kt") - public void testEmptyPrimaryConstructor() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/emptyPrimaryConstructor.kt"); - } - - @TestMetadata("kt20062.kt") - public void testKt20062() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/kt20062.kt"); - } - - @TestMetadata("modality.kt") - public void testModality() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/modality.kt"); - } - - @TestMetadata("notMagicParcel.kt") - public void testNotMagicParcel() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/notMagicParcel.kt"); - } - - @TestMetadata("properties.kt") - public void testProperties() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/properties.kt"); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/simple.kt"); - } - - @TestMetadata("unsupportedType.kt") - public void testUnsupportedType() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/unsupportedType.kt"); - } - - @TestMetadata("withoutParcelableSupertype.kt") - public void testWithoutParcelableSupertype() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/withoutParcelableSupertype.kt"); - } - - @TestMetadata("wrongAnnotationTarget.kt") - public void testWrongAnnotationTarget() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/checker/wrongAnnotationTarget.kt"); - } -} diff --git a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/ParcelizeQuickFixTestGenerated.java b/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/ParcelizeQuickFixTestGenerated.java deleted file mode 100644 index d27852e678c..00000000000 --- a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/ParcelizeQuickFixTestGenerated.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.pacelize.ide.test; - -import com.intellij.testFramework.TestDataPath; -import org.jetbrains.kotlin.test.JUnit3RunnerWithInners; -import org.jetbrains.kotlin.test.KotlinTestUtils; -import org.jetbrains.kotlin.test.util.KtTestUtil; -import org.jetbrains.kotlin.test.TestMetadata; -import org.junit.runner.RunWith; - -import java.io.File; -import java.util.regex.Pattern; - -/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */ -@SuppressWarnings("all") -@TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix") -@TestDataPath("$PROJECT_ROOT") -@RunWith(JUnit3RunnerWithInners.class) -public class ParcelizeQuickFixTestGenerated extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInQuickfix() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class AddPrimaryConstructor extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInAddPrimaryConstructor() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("constructorWithDelegate.kt") - public void testConstructorWithDelegate() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/constructorWithDelegate.kt"); - } - - @TestMetadata("noQuickFix.kt") - public void testNoQuickFix() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/noQuickFix.kt"); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/addPrimaryConstructor/simple.kt"); - } - } - - @TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class CantBeInnerClass extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInCantBeInnerClass() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/cantBeInnerClass/simple.kt"); - } - } - - @TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class ClassShouldBeAnnotated extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInClassShouldBeAnnotated() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/classShouldBeAnnotated/simple.kt"); - } - } - - @TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class DeleteIncompatible extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInDeleteIncompatible() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("creatorField.kt") - public void testCreatorField() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/creatorField.kt"); - } - - @TestMetadata("writeToParcel.kt") - public void testWriteToParcel() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/deleteIncompatible/writeToParcel.kt"); - } - } - - @TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix/migrations") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class Migrations extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInMigrations() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix/migrations"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("basic.kt") - public void testBasic() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/migrations/basic.kt"); - } - - @TestMetadata("complexCase1.kt") - public void testComplexCase1() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/migrations/complexCase1.kt"); - } - - @TestMetadata("customDescribeContents.kt") - public void testCustomDescribeContents() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/migrations/customDescribeContents.kt"); - } - - @TestMetadata("fromCreatorObject.kt") - public void testFromCreatorObject() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/migrations/fromCreatorObject.kt"); - } - - @TestMetadata("innerClassFactory.kt") - public void testInnerClassFactory() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/migrations/innerClassFactory.kt"); - } - - @TestMetadata("jvmField.kt") - public void testJvmField() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/migrations/jvmField.kt"); - } - - @TestMetadata("withoutDescribeContents.kt") - public void testWithoutDescribeContents() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/migrations/withoutDescribeContents.kt"); - } - } - - @TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class NoParcelableSupertype extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInNoParcelableSupertype() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("alreadyHasSupertype.kt") - public void testAlreadyHasSupertype() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/alreadyHasSupertype.kt"); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/noParcelableSupertype/simple.kt"); - } - } - - @TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class PropertyWontBeSerialized extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInPropertyWontBeSerialized() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/propertyWontBeSerialized/simple.kt"); - } - } - - @TestMetadata("plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation") - @TestDataPath("$PROJECT_ROOT") - @RunWith(JUnit3RunnerWithInners.class) - public static class RemoveDuplicatingTypeParcelerAnnotation extends AbstractParcelizeQuickFixTest { - private void runTest(String testDataFilePath) throws Exception { - KotlinTestUtils.runTest(this::doTest, this, testDataFilePath); - } - - public void testAllFilesPresentInRemoveDuplicatingTypeParcelerAnnotation() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation"), Pattern.compile("^([\\w\\-_]+)\\.kt$"), null, true); - } - - @TestMetadata("simple.kt") - public void testSimple() throws Exception { - runTest("plugins/parcelize/parcelize-ide/testData/quickfix/removeDuplicatingTypeParcelerAnnotation/simple.kt"); - } - } -} diff --git a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/parcelizeTestUtil.kt b/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/parcelizeTestUtil.kt deleted file mode 100644 index af3d4f183c9..00000000000 --- a/plugins/parcelize/parcelize-ide/tests/org/jetbrains/kotlin/pacelize/ide/test/parcelizeTestUtil.kt +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors. - * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. - */ - -package org.jetbrains.kotlin.pacelize.ide.test - -import com.intellij.openapi.module.Module -import org.jetbrains.kotlin.idea.test.ConfigLibraryUtil -import org.jetbrains.kotlin.test.util.KtTestUtil - -fun addParcelizeLibraries(module: Module) { - val androidJar = KtTestUtil.findAndroidApiJar() - ConfigLibraryUtil.addLibrary(module, "androidJar", androidJar.parentFile.absolutePath, arrayOf(androidJar.name)) - ConfigLibraryUtil.addLibrary(module, "parcelizeRuntime", "dist/kotlinc/lib", arrayOf("parcelize-runtime.jar")) - ConfigLibraryUtil.addLibrary(module, "androidExtensionsRuntime", "dist/kotlinc/lib", arrayOf("android-extensions-runtime.jar")) -} - -fun removeParcelizeLibraries(module: Module) { - ConfigLibraryUtil.removeLibrary(module, "androidJar") - ConfigLibraryUtil.removeLibrary(module, "parcelizeRuntime") - ConfigLibraryUtil.removeLibrary(module, "androidExtensionsRuntime") -}