inspection and quickfix to replace usages of deprecated package facades

This commit is contained in:
Dmitry Jemerov
2015-09-24 14:05:28 +02:00
parent 9de74921ca
commit 32e6a6e3a1
13 changed files with 196 additions and 50 deletions
@@ -61,7 +61,10 @@ import org.jetbrains.kotlin.idea.debugger.AbstractSmartStepIntoTest
import org.jetbrains.kotlin.idea.debugger.evaluate.*
import org.jetbrains.kotlin.idea.decompiler.navigation.AbstractNavigateToLibrarySourceTest
import org.jetbrains.kotlin.idea.decompiler.stubBuilder.AbstractClsStubBuilderTest
import org.jetbrains.kotlin.idea.decompiler.textBuilder.*
import org.jetbrains.kotlin.idea.decompiler.textBuilder.AbstractCommonDecompiledTextFromJsMetadataTest
import org.jetbrains.kotlin.idea.decompiler.textBuilder.AbstractCommonDecompiledTextTest
import org.jetbrains.kotlin.idea.decompiler.textBuilder.AbstractJsDecompiledTextFromJsMetadataTest
import org.jetbrains.kotlin.idea.decompiler.textBuilder.AbstractJvmDecompiledTextTest
import org.jetbrains.kotlin.idea.editor.quickDoc.AbstractJetQuickDocProviderTest
import org.jetbrains.kotlin.idea.folding.AbstractKotlinFoldingTest
import org.jetbrains.kotlin.idea.hierarchy.AbstractHierarchyTest
@@ -407,7 +410,7 @@ fun main(args: Array<String>) {
}
testClass(javaClass<AbstractQuickFixMultiFileTest>()) {
model("quickfix", pattern = """^(\w+)\.before\.Main\.kt$""", testMethod = "doTestWithExtraFile")
model("quickfix", pattern = """^(\w+)\.before\.Main\.\w+$""", testMethod = "doTestWithExtraFile")
}
testClass(javaClass<AbstractHighlightingTest>()) {
@@ -0,0 +1,6 @@
<html>
<body>
This inspection reports usages of pre-M13 Kotlin package facade classes in Kotlin code and offers to replace them with
new-style file classes.
</body>
</html>
+8
View File
@@ -1201,6 +1201,14 @@
level="WARNING"
/>
<localInspection implementationClass="org.jetbrains.kotlin.idea.inspections.DeprecatedFacadeUsageInspection"
displayName="Usage of deprecated Kotlin package facade"
groupName="Kotlin"
language="JAVA"
enabledByDefault="true"
cleanupTool="true"
level="WARNING"/>
<localInspection implementationClass="org.jetbrains.kotlin.idea.inspections.KotlinInvalidBundleOrPropertyInspection"
displayName="Invalid property key"
groupName="Kotlin"
@@ -0,0 +1,67 @@
/*
* Copyright 2010-2015 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.idea.inspections
import com.intellij.codeInspection.*
import com.intellij.openapi.project.Project
import com.intellij.psi.*
import com.intellij.psi.codeStyle.JavaCodeStyleManager
import org.jetbrains.kotlin.idea.search.allScope
import org.jetbrains.kotlin.load.java.JvmAnnotationNames
public class DeprecatedFacadeUsageInspection : LocalInspectionTool(), CleanupLocalInspectionTool {
override fun buildVisitor(holder: ProblemsHolder, isOnTheFly: Boolean, session: LocalInspectionToolSession): PsiElementVisitor {
return object : JavaElementVisitor() {
override fun visitReferenceExpression(expression: PsiReferenceExpression) {
val resolveResult = expression.reference?.resolve()
if (resolveResult is PsiMethod && resolveResult.findDelegatedMethodAnnotation() != null) {
holder.registerProblem(expression, "Use of deprecated package facade class",
ProblemHighlightType.LIKE_DEPRECATED,
DeprecatedFacadeUsageFix())
}
}
}
}
}
private fun PsiMethod.findDelegatedMethodAnnotation() =
modifierList.findAnnotation(JvmAnnotationNames.KOTLIN_DELEGATED_METHOD.asString())
public class DeprecatedFacadeUsageFix : LocalQuickFix {
override fun getName(): String = "Replace with new-style facade class"
override fun getFamilyName(): String = name
override fun applyFix(project: Project, descriptor: ProblemDescriptor) {
val reference = descriptor.psiElement.reference ?: return
val resolveResult = reference.resolve() as? PsiMethod ?: return
val delegatedMethod = resolveResult.findDelegatedMethodAnnotation() ?: return
val attr = delegatedMethod.findAttributeValue(JvmAnnotationNames.IMPLEMENTATION_CLASS_NAME_FIELD_NAME)
val targetClassName = (attr as? PsiLiteral)?.value as? String ?: return
val targetClass = JavaPsiFacade.getInstance(project).findClass(targetClassName, project.allScope()) ?: return
val targetMethod = targetClass.findMethodBySignature(resolveResult, false) ?: return
val newReference = reference.bindToElement(targetMethod)
JavaCodeStyleManager.getInstance(project).shortenClassReferences(newReference)
val javaFile = newReference.containingFile as? PsiJavaFile
if (javaFile != null) {
JavaCodeStyleManager.getInstance(project).removeRedundantImports(javaFile)
}
}
}
@@ -0,0 +1 @@
org.jetbrains.kotlin.idea.inspections.DeprecatedFacadeUsageInspection
@@ -0,0 +1,8 @@
// "Replace with new-style facade class" "true"
import facade.Basic_before_data_facadeKt;
class A {
void bar() {
Basic_before_data_facadeKt.foo();
}
}
@@ -0,0 +1,8 @@
// "Replace with new-style facade class" "true"
import facade.FacadePackage;
class A {
void bar() {
FacadePackage.<caret>foo();
}
}
@@ -0,0 +1,4 @@
package facade
fun foo() {
}
@@ -0,0 +1,8 @@
// "Replace with new-style facade class" "true"
import facade.StaticImport_before_data_facadeKt;
class A {
void bar() {
StaticImport_before_data_facadeKt.foo();
}
}
@@ -0,0 +1,8 @@
// "Replace with new-style facade class" "true"
import static facade.FacadePackage.foo;
class A {
void bar() {
<caret>foo();
}
}
@@ -0,0 +1,4 @@
package facade
fun foo() {
}
@@ -129,7 +129,7 @@ public abstract class AbstractQuickFixMultiFileTest extends KotlinDaemonAnalyzer
assert mainFileDir != null;
final String mainFileName = mainFile.getName();
final String extraFileNamePrefix = mainFileName.replace(".Main.kt", ".");
final String extraFileNamePrefix = mainFileName.replace(".Main.kt", ".").replace(".Main.java", ".");
File[] extraFiles = mainFileDir.listFiles(
new FilenameFilter() {
@Override
@@ -32,7 +32,7 @@ import java.util.regex.Pattern;
@RunWith(JUnit3RunnerWithInners.class)
public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInQuickfix() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/addStarProjections")
@@ -40,7 +40,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class AddStarProjections extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInAddStarProjections() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/addStarProjections"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/addStarProjections"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
}
@@ -50,7 +50,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class AutoImports extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInAutoImports() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/autoImports"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/autoImports"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("ambiguousNamePreferFromJdk.before.Main.kt")
@@ -293,7 +293,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
}
public void testAllFilesPresentInChangeSignature() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/changeSignature"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/changeSignature"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("matchFunctionLiteralWithSAMType.before.Main.kt")
@@ -314,7 +314,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class CheckArguments extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInCheckArguments() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/checkArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/checkArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
}
@@ -324,7 +324,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class CreateFromUsage extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInCreateFromUsage() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/createFromUsage/createClass")
@@ -332,7 +332,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class CreateClass extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInCreateClass() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/createFromUsage/createClass/annotationEntry")
@@ -340,7 +340,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class AnnotationEntry extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInAnnotationEntry() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/annotationEntry"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/annotationEntry"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("nestedGroovyAnnotation.before.Main.kt")
@@ -367,7 +367,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class CallExpression extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInCallExpression() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/callExpression"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/callExpression"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("callInAnnotationEntryWithJavaQualifier.before.Main.kt")
@@ -441,7 +441,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class TypeArguments extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInTypeArguments() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("javaClassMember.before.Main.kt")
@@ -481,7 +481,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class DelegationSpecifier extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInDelegationSpecifier() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("delegatorToNestedJavaSupercall.before.Main.kt")
@@ -514,7 +514,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class ImportDirective extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInImportDirective() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/importDirective"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/importDirective"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("annotationWithJavaQualifier.before.Main.kt")
@@ -565,7 +565,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class ReferenceExpression extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInReferenceExpression() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/referenceExpression"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/referenceExpression"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("classByNestedGroovyQualifier.before.Main.kt")
@@ -628,7 +628,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class TypeReference extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInTypeReference() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/typeReference"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createClass/typeReference"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("annotationJavaTypeReceiver.before.Main.kt")
@@ -674,7 +674,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class CreateFunction extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInCreateFunction() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createFunction"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createFunction"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/createFromUsage/createFunction/call")
@@ -682,7 +682,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Call extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInCall() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createFunction/call"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createFunction/call"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("extensionFunOnGroovyType.before.Main.kt")
@@ -744,7 +744,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class TypeArguments extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInTypeArguments() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("javaClassMember.before.Main.kt")
@@ -774,7 +774,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class CreateSecondaryConstructor extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInCreateSecondaryConstructor() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createSecondaryConstructor"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createSecondaryConstructor"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("delegatorToSuperCallJavaClass.before.Main.kt")
@@ -807,7 +807,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class CreateVariable extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInCreateVariable() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createVariable"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createVariable"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/createFromUsage/createVariable/parameter")
@@ -815,7 +815,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Parameter extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInParameter() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createVariable/parameter"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createVariable/parameter"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("platformType.before.Main.kt")
@@ -830,7 +830,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Property extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInProperty() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createVariable/property"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/createFromUsage/createVariable/property"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("extensionValOnGroovyType.before.Main.kt")
@@ -901,7 +901,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class DeprecatedSymbolUsage extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInDeprecatedSymbolUsage() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("javaDeprecated.before.Main.kt")
@@ -927,7 +927,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
}
public void testAllFilesPresentInClassUsages() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/classUsages"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/classUsages"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/deprecatedSymbolUsage/classUsages/wholeProject")
@@ -935,7 +935,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class WholeProject extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInWholeProject() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/classUsages/wholeProject"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/classUsages/wholeProject"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("annotation.before.Main.kt")
@@ -975,7 +975,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
}
public void testAllFilesPresentInImports() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/imports"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/imports"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("rootPackage.before.Main.kt")
@@ -990,7 +990,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class TypeArguments extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInTypeArguments() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/typeArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/typeArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("platformType.before.Main.kt")
@@ -1005,7 +1005,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class WholeProject extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInWholeProject() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/wholeProject"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/deprecatedSymbolUsage/wholeProject"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("function.before.Main.kt")
@@ -1027,7 +1027,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Migration extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInMigration() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/migration/conflictingExtension")
@@ -1035,7 +1035,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class ConflictingExtension extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInConflictingExtension() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/conflictingExtension"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/conflictingExtension"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("removeImports.before.Main.kt")
@@ -1051,12 +1051,33 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
}
}
@TestMetadata("idea/testData/quickfix/migration/deprecatedPackageFacade")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class DeprecatedPackageFacade extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInDeprecatedPackageFacade() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/deprecatedPackageFacade"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("basic.before.Main.java")
public void testBasic() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deprecatedPackageFacade/basic.before.Main.java");
doTestWithExtraFile(fileName);
}
@TestMetadata("staticImport.before.Main.java")
public void testStaticImport() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/migration/deprecatedPackageFacade/staticImport.before.Main.java");
doTestWithExtraFile(fileName);
}
}
@TestMetadata("idea/testData/quickfix/migration/javaAnnotationPositionedArguments")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class JavaAnnotationPositionedArguments extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInJavaAnnotationPositionedArguments() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/javaAnnotationPositionedArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/javaAnnotationPositionedArguments"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("basicMultiple.before.Main.kt")
@@ -1083,7 +1104,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class MigrateJavaAnnotationMethodCall extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInMigrateJavaAnnotationMethodCall() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/migrateJavaAnnotationMethodCall"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/migrateJavaAnnotationMethodCall"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("basicMultiple.before.Main.kt")
@@ -1104,7 +1125,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class MissingConstructorKeyword extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInMissingConstructorKeyword() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/missingConstructorKeyword"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/missingConstructorKeyword"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("manyFilesMuitliple.before.Main.kt")
@@ -1119,7 +1140,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class ObsoleteLabelSyntax extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInObsoleteLabelSyntax() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/obsoleteLabelSyntax"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/migration/obsoleteLabelSyntax"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("manyFilesMuitliple.before.Main.kt")
@@ -1136,7 +1157,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Modifiers extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInModifiers() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration")
@@ -1144,7 +1165,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class AddOpenToClassDeclaration extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInAddOpenToClassDeclaration() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass")
@@ -1152,7 +1173,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class FinalJavaClass extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInFinalJavaClass() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass/javaCode")
@@ -1160,7 +1181,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class JavaCode extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInJavaCode() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass/javaCode"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass/javaCode"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
}
@@ -1173,7 +1194,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Nullables extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInNullables() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/nullables"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/nullables"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
}
@@ -1183,7 +1204,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Override extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInOverride() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/override"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/override"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/override/nothingToOverride")
@@ -1191,7 +1212,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class NothingToOverride extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInNothingToOverride() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/override/nothingToOverride"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/override/nothingToOverride"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("import.before.Main.kt")
@@ -1214,7 +1235,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class PrivateInFiles extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInPrivateInFiles() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/privateInFiles"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/privateInFiles"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("privateTopLevelFunInFile.before.Main.kt")
@@ -1247,7 +1268,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Suppress extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInSuppress() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/suppress"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/suppress"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/suppress/forStatement")
@@ -1255,7 +1276,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class ForStatement extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInForStatement() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/suppress/forStatement"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/suppress/forStatement"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
}
@@ -1266,7 +1287,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class TypeImports extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInTypeImports() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/typeImports"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/typeImports"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("importFromAnotherFile.before.Main.kt")
@@ -1281,7 +1302,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class TypeMismatch extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInTypeMismatch() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/typeMismatch"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/typeMismatch"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("idea/testData/quickfix/typeMismatch/genericVarianceViolation")
@@ -1289,7 +1310,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class GenericVarianceViolation extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInGenericVarianceViolation() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/typeMismatch/genericVarianceViolation"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/typeMismatch/genericVarianceViolation"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
@TestMetadata("basicMultiple.before.Main.kt")
@@ -1306,7 +1327,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
@RunWith(JUnit3RunnerWithInners.class)
public static class Variables extends AbstractQuickFixMultiFileTest {
public void testAllFilesPresentInVariables() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/variables"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("idea/testData/quickfix/variables"), Pattern.compile("^(\\w+)\\.before\\.Main\\.\\w+$"), true);
}
}