Common fix for FINAL_SUPERTYPE and FINAL_UPPER_BOUND errors
This commit is contained in:
committed by
Evgeny Gerashchenko
parent
6e1e495397
commit
a887175f1a
@@ -11,8 +11,7 @@ change.variable.mutability.family=Change Variable Mutability
|
||||
remove.function.body=Remove function body
|
||||
make.element.modifier=Make {0} {1}
|
||||
add.modifier=Add ''{0}'' modifier
|
||||
add.supertype.modifier=Add ''{0}'' modifier to supertype
|
||||
add.supertype.modifier.family=Add Modifier to Supertype
|
||||
add.modifier.family=Add Modifier
|
||||
make.class.annotation.class=Make ''{0}'' an annotation class
|
||||
make.class.annotation.class.family=Make Class an Annotation Class
|
||||
add.star.projections=Add ''{0}''
|
||||
|
||||
@@ -77,7 +77,7 @@ public class AddModifierFix extends JetIntentionAction<JetModifierListOwner> {
|
||||
@NotNull
|
||||
@Override
|
||||
public String getFamilyName() {
|
||||
return "Add modifier";
|
||||
return JetBundle.message("add.modifier.family");
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -137,6 +137,11 @@ public class AddModifierFix extends JetIntentionAction<JetModifierListOwner> {
|
||||
return newElement;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
/*package*/ static JetModifierListOwner addModifierWithDefaultReplacement(@NotNull PsiElement element, @NotNull JetKeywordToken modifier, @NotNull Project project, boolean toBeginning) {
|
||||
return addModifier(element, modifier, MODIFIERS_THAT_CAN_BE_REPLACED.get(modifier), project, toBeginning);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean startInWriteAction() {
|
||||
return true;
|
||||
|
||||
+20
-37
@@ -24,27 +24,22 @@ import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.IncorrectOperationException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.diagnostics.Diagnostic;
|
||||
import org.jetbrains.jet.lang.psi.JetClass;
|
||||
import org.jetbrains.jet.lang.psi.JetTypeReference;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContextUtils;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.lexer.JetKeywordToken;
|
||||
import org.jetbrains.jet.lexer.JetToken;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
import org.jetbrains.jet.plugin.JetBundle;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManager;
|
||||
|
||||
import static org.jetbrains.jet.lexer.JetTokens.FINAL_KEYWORD;
|
||||
import static org.jetbrains.jet.lexer.JetTokens.OPEN_KEYWORD;
|
||||
public class AddOpenModifierToClassDeclarationFix extends JetIntentionAction<JetTypeReference> {
|
||||
private JetClass classDeclaration;
|
||||
|
||||
public class FinalSupertypeFix extends JetIntentionAction<JetClass> {
|
||||
private final JetClass childClass;
|
||||
private JetClass superClass;
|
||||
|
||||
public FinalSupertypeFix(@NotNull JetClass childClass) {
|
||||
super(childClass);
|
||||
this.childClass = childClass;
|
||||
public AddOpenModifierToClassDeclarationFix(@NotNull JetTypeReference typeReference) {
|
||||
super(typeReference);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -54,43 +49,32 @@ public class FinalSupertypeFix extends JetIntentionAction<JetClass> {
|
||||
}
|
||||
|
||||
BindingContext context = KotlinCacheManager.getInstance(project).getDeclarationsFromProject().getBindingContext();
|
||||
ClassDescriptor childClassDescriptor = context.get(BindingContext.CLASS, childClass);
|
||||
if (childClassDescriptor == null) {
|
||||
return false;
|
||||
JetType type = context.get(BindingContext.TYPE, element);
|
||||
if (type == null) return false;
|
||||
DeclarationDescriptor typeDeclarationDescriptor = type.getConstructor().getDeclarationDescriptor();
|
||||
if (typeDeclarationDescriptor == null) return false;
|
||||
PsiElement typeDeclaration = BindingContextUtils.descriptorToDeclaration(context, typeDeclarationDescriptor);
|
||||
if (typeDeclaration instanceof JetClass && typeDeclaration.isWritable()) {
|
||||
this.classDeclaration = (JetClass) typeDeclaration;
|
||||
}
|
||||
for (JetType supertype: childClassDescriptor.getTypeConstructor().getSupertypes()) {
|
||||
ClassDescriptor superClassDescriptor = (ClassDescriptor) supertype.getConstructor().getDeclarationDescriptor();
|
||||
if (superClassDescriptor == null) {
|
||||
continue;
|
||||
}
|
||||
PsiElement declaration = BindingContextUtils.descriptorToDeclaration(context, superClassDescriptor);
|
||||
if (declaration instanceof JetClass) {
|
||||
superClass = (JetClass) declaration;
|
||||
if (!superClass.isTrait() && !superClass.isEnum() && superClass.getContainingFile().isWritable()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return classDeclaration != null && !classDeclaration.isEnum() && !classDeclaration.isTrait();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getText() {
|
||||
return JetBundle.message("add.supertype.modifier", "open");
|
||||
return JetBundle.message("make.element.modifier", classDeclaration.getName(), "open");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public String getFamilyName() {
|
||||
return JetBundle.message("add.supertype.modifier.family");
|
||||
return JetBundle.message("add.modifier.family");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
|
||||
assert superClass != null;
|
||||
JetToken[] modifiersThanCanBeReplaced = new JetKeywordToken[] { FINAL_KEYWORD };
|
||||
superClass.replace(AddModifierFix.addModifier(superClass, OPEN_KEYWORD, modifiersThanCanBeReplaced, project, false));
|
||||
classDeclaration.replace(AddModifierFix.addModifierWithDefaultReplacement(classDeclaration, JetTokens.OPEN_KEYWORD, project, false));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -99,10 +83,9 @@ public class FinalSupertypeFix extends JetIntentionAction<JetClass> {
|
||||
@Nullable
|
||||
@Override
|
||||
public IntentionAction createAction(Diagnostic diagnostic) {
|
||||
JetClass childClass = QuickFixUtil.getParentElementOfType(diagnostic, JetClass.class);
|
||||
return childClass == null ? null : new FinalSupertypeFix(childClass);
|
||||
JetTypeReference typeReference = QuickFixUtil.getParentElementOfType(diagnostic, JetTypeReference.class);
|
||||
return typeReference == null ? null : new AddOpenModifierToClassDeclarationFix(typeReference);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,8 +182,10 @@ public class QuickFixes {
|
||||
factories.put(WRONG_NUMBER_OF_TYPE_ARGUMENTS, AddStarProjectionsFix.createFactoryForJavaClass());
|
||||
|
||||
factories.put(INACCESSIBLE_OUTER_CLASS_EXPRESSION, AddModifierFix.createFactory(INNER_KEYWORD, JetClass.class));
|
||||
|
||||
factories.put(FINAL_SUPERTYPE, FinalSupertypeFix.createFactory());
|
||||
|
||||
JetIntentionActionFactory addOpenModifierToClassDeclarationFix = AddOpenModifierToClassDeclarationFix.createFactory();
|
||||
factories.put(FINAL_SUPERTYPE, addOpenModifierToClassDeclarationFix);
|
||||
factories.put(FINAL_UPPER_BOUND, addOpenModifierToClassDeclarationFix);
|
||||
|
||||
factories.put(PARAMETER_NAME_CHANGED_ON_OVERRIDE, RenameParameterToMatchOverriddenMethodFix.createFactory());
|
||||
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
open class A {}
|
||||
class B : A<caret>() {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
open class A {}
|
||||
class B<T : A<caret>> {}
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
open class A {}
|
||||
class B : A<caret>() {}
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
open class A {}
|
||||
class B<T : A<caret>> {}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Add 'open' modifier to supertype" "true"
|
||||
// "Make A open" "true"
|
||||
trait X {}
|
||||
trait Y {}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Add 'open' modifier to supertype" "false"
|
||||
// "Make E open" "false"
|
||||
// ERROR: This type is final, so it cannot be inherited from
|
||||
// ERROR: Cannot access '<init>': it is 'private' in 'E'
|
||||
enum class E {}
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Make E open" "false"
|
||||
enum class E {}
|
||||
class A<T : E<caret>> {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
final class A {}
|
||||
class B : A<caret>() {}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
final class A {}
|
||||
class B<T : A<caret>> {}
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
// "Add 'open' modifier to supertype" "false"
|
||||
// "Make String open" "false"
|
||||
// ERROR: This type is final, so it cannot be inherited from
|
||||
class A : String<caret>() {}
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
// "Make String open" "false"
|
||||
class A<T : String<caret>> {}
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
class A {}
|
||||
class B : A<caret>() {}
|
||||
@@ -0,0 +1,3 @@
|
||||
// "Make A open" "true"
|
||||
final class A {}
|
||||
class B<T : A<caret>> {}
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Add 'open' modifier to supertype" "true"
|
||||
// "Make A open" "true"
|
||||
trait X {}
|
||||
trait Y {}
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// "Add 'open' modifier to supertype" "false"
|
||||
// "Make JavaClass open" "false"
|
||||
// ERROR: This type is final, so it cannot be inherited from
|
||||
import testPackage.*
|
||||
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
// "Make JavaClass open" "false"
|
||||
import testPackage.*
|
||||
|
||||
class foo<T : JavaClass>() {}
|
||||
@@ -1,3 +0,0 @@
|
||||
// "Add 'open' modifier to supertype" "true"
|
||||
open class A {}
|
||||
class B : A<caret>() {}
|
||||
@@ -1,3 +0,0 @@
|
||||
// "Add 'open' modifier to supertype" "true"
|
||||
open class A {}
|
||||
class B : A<caret>() {}
|
||||
@@ -1,3 +0,0 @@
|
||||
// "Add 'open' modifier to supertype" "true"
|
||||
final class A {}
|
||||
class B : A<caret>() {}
|
||||
@@ -1,3 +0,0 @@
|
||||
// "Add 'open' modifier to supertype" "true"
|
||||
class A {}
|
||||
class B : A<caret>() {}
|
||||
+10
-6
@@ -22,24 +22,28 @@ import com.intellij.testFramework.PsiTestUtil;
|
||||
import org.jetbrains.jet.plugin.PluginTestCaseBase;
|
||||
import org.jetbrains.jet.testing.LocalFileSystemUtils;
|
||||
|
||||
public class FinalJavaSupertypeTest extends AbstractQuickFixMultiFileTest {
|
||||
public class AddOpenToClassDeclarationTest extends AbstractQuickFixMultiFileTest {
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
|
||||
LocalFileSystemUtils.refreshPath(getTestDataPath());
|
||||
}
|
||||
|
||||
public void testFinalJavaSupertype() throws Exception {
|
||||
String path = getTestDataPath() + "javaCode/";
|
||||
final VirtualFile rootDir = PsiTestUtil.createTestProjectStructure(myProject, myModule, path, myFilesToDelete, false);
|
||||
addSourceContentToRoots(myModule, rootDir);
|
||||
PsiDocumentManager.getInstance(myProject).commitAllDocuments();
|
||||
doTestWithoutExtraFile(getTestName(false) + ".before.kt");
|
||||
}
|
||||
|
||||
public void testFinalJavaSupertype() throws Exception {
|
||||
doTestWithoutExtraFile("FinalJavaSupertype.before.kt");
|
||||
}
|
||||
|
||||
public void testFinalJavaUpperBound() throws Exception {
|
||||
doTestWithoutExtraFile("FinalJavaUpperBound.before.kt");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return PluginTestCaseBase.getTestDataPathBase() + "/quickfix/modifiers/finalSupertype/" + getTestName(true) + "/";
|
||||
return PluginTestCaseBase.getTestDataPathBase() + "/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass/";
|
||||
}
|
||||
}
|
||||
@@ -120,31 +120,31 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/quickfix/modifiers")
|
||||
@InnerTestClasses({Modifiers.FinalSupertype.class})
|
||||
@InnerTestClasses({Modifiers.AddOpenToClassDeclaration.class})
|
||||
public static class Modifiers extends AbstractQuickFixMultiFileTest {
|
||||
public void testAllFilesPresentInModifiers() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/finalSupertype")
|
||||
@InnerTestClasses({FinalSupertype.FinalJavaSupertype.class})
|
||||
public static class FinalSupertype extends AbstractQuickFixMultiFileTest {
|
||||
public void testAllFilesPresentInFinalSupertype() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/finalSupertype"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration")
|
||||
@InnerTestClasses({AddOpenToClassDeclaration.FinalJavaClass.class})
|
||||
public static class AddOpenToClassDeclaration extends AbstractQuickFixMultiFileTest {
|
||||
public void testAllFilesPresentInAddOpenToClassDeclaration() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/finalSupertype/finalJavaSupertype")
|
||||
@InnerTestClasses({FinalJavaSupertype.JavaCode.class})
|
||||
public static class FinalJavaSupertype extends AbstractQuickFixMultiFileTest {
|
||||
public void testAllFilesPresentInFinalJavaSupertype() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/finalSupertype/finalJavaSupertype"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass")
|
||||
@InnerTestClasses({FinalJavaClass.JavaCode.class})
|
||||
public static class FinalJavaClass extends AbstractQuickFixMultiFileTest {
|
||||
public void testAllFilesPresentInFinalJavaClass() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/finalSupertype/finalJavaSupertype/javaCode")
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass/javaCode")
|
||||
@InnerTestClasses({})
|
||||
public static class JavaCode extends AbstractQuickFixMultiFileTest {
|
||||
public void testAllFilesPresentInJavaCode() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/finalSupertype/finalJavaSupertype/javaCode"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass/javaCode"), Pattern.compile("^(\\w+)\\.before\\.Main\\.kt$"), true);
|
||||
}
|
||||
|
||||
public static Test innerSuite() {
|
||||
@@ -155,17 +155,17 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
|
||||
}
|
||||
|
||||
public static Test innerSuite() {
|
||||
TestSuite suite = new TestSuite("FinalJavaSupertype");
|
||||
suite.addTestSuite(FinalJavaSupertype.class);
|
||||
TestSuite suite = new TestSuite("FinalJavaClass");
|
||||
suite.addTestSuite(FinalJavaClass.class);
|
||||
suite.addTest(JavaCode.innerSuite());
|
||||
return suite;
|
||||
}
|
||||
}
|
||||
|
||||
public static Test innerSuite() {
|
||||
TestSuite suite = new TestSuite("FinalSupertype");
|
||||
suite.addTestSuite(FinalSupertype.class);
|
||||
suite.addTest(FinalJavaSupertype.innerSuite());
|
||||
TestSuite suite = new TestSuite("AddOpenToClassDeclaration");
|
||||
suite.addTestSuite(AddOpenToClassDeclaration.class);
|
||||
suite.addTest(FinalJavaClass.innerSuite());
|
||||
return suite;
|
||||
}
|
||||
}
|
||||
@@ -173,7 +173,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes
|
||||
public static Test innerSuite() {
|
||||
TestSuite suite = new TestSuite("Modifiers");
|
||||
suite.addTestSuite(Modifiers.class);
|
||||
suite.addTest(FinalSupertype.innerSuite());
|
||||
suite.addTest(AddOpenToClassDeclaration.innerSuite());
|
||||
return suite;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -415,7 +415,7 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/quickfix/modifiers")
|
||||
@InnerTestClasses({Modifiers.FinalSupertype.class})
|
||||
@InnerTestClasses({Modifiers.AddOpenToClassDeclaration.class})
|
||||
public static class Modifiers extends AbstractQuickFixTest {
|
||||
@TestMetadata("beforeAddInnerModifier.kt")
|
||||
public void testAddInnerModifier() throws Exception {
|
||||
@@ -506,50 +506,70 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
doTest("idea/testData/quickfix/modifiers/beforeVisibilityModiferParameter.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/finalSupertype")
|
||||
@InnerTestClasses({FinalSupertype.FinalJavaSupertype.class})
|
||||
public static class FinalSupertype extends AbstractQuickFixTest {
|
||||
public void testAllFilesPresentInFinalSupertype() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/finalSupertype"), Pattern.compile("^before(\\w+)\\.kt$"), true);
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration")
|
||||
@InnerTestClasses({AddOpenToClassDeclaration.FinalJavaClass.class})
|
||||
public static class AddOpenToClassDeclaration extends AbstractQuickFixTest {
|
||||
public void testAllFilesPresentInAddOpenToClassDeclaration() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration"), Pattern.compile("^before(\\w+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("beforeEnumSupertype.kt")
|
||||
public void testEnumSupertype() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/finalSupertype/beforeEnumSupertype.kt");
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeEnumSupertype.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("beforeEnumUpperBound.kt")
|
||||
public void testEnumUpperBound() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeEnumUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("beforeExplicitlyFinalSupertype.kt")
|
||||
public void testExplicitlyFinalSupertype() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/finalSupertype/beforeExplicitlyFinalSupertype.kt");
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeExplicitlyFinalSupertype.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("beforeExplicitlyFinalUpperBound.kt")
|
||||
public void testExplicitlyFinalUpperBound() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeExplicitlyFinalUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("beforeFinalLibrarySupertype.kt")
|
||||
public void testFinalLibrarySupertype() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/finalSupertype/beforeFinalLibrarySupertype.kt");
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeFinalLibrarySupertype.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("beforeFinalLibraryUpperBound.kt")
|
||||
public void testFinalLibraryUpperBound() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeFinalLibraryUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("beforeFinalSupertype.kt")
|
||||
public void testFinalSupertype() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/finalSupertype/beforeFinalSupertype.kt");
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeFinalSupertype.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("beforeFinalUpperBound.kt")
|
||||
public void testFinalUpperBound() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeFinalUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("beforeImplementTraitFinalSupertype.kt")
|
||||
public void testImplementTraitFinalSupertype() throws Exception {
|
||||
doTest("idea/testData/quickfix/modifiers/finalSupertype/beforeImplementTraitFinalSupertype.kt");
|
||||
doTest("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/beforeImplementTraitFinalSupertype.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/finalSupertype/finalJavaSupertype")
|
||||
@InnerTestClasses({FinalJavaSupertype.JavaCode.class})
|
||||
public static class FinalJavaSupertype extends AbstractQuickFixTest {
|
||||
public void testAllFilesPresentInFinalJavaSupertype() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/finalSupertype/finalJavaSupertype"), Pattern.compile("^before(\\w+)\\.kt$"), true);
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass")
|
||||
@InnerTestClasses({FinalJavaClass.JavaCode.class})
|
||||
public static class FinalJavaClass extends AbstractQuickFixTest {
|
||||
public void testAllFilesPresentInFinalJavaClass() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass"), Pattern.compile("^before(\\w+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/finalSupertype/finalJavaSupertype/javaCode")
|
||||
@TestMetadata("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass/javaCode")
|
||||
@InnerTestClasses({})
|
||||
public static class JavaCode extends AbstractQuickFixTest {
|
||||
public void testAllFilesPresentInJavaCode() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/finalSupertype/finalJavaSupertype/javaCode"), Pattern.compile("^before(\\w+)\\.kt$"), true);
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.GenerateTests", new File("idea/testData/quickfix/modifiers/addOpenToClassDeclaration/finalJavaClass/javaCode"), Pattern.compile("^before(\\w+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
public static Test innerSuite() {
|
||||
@@ -560,17 +580,17 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
}
|
||||
|
||||
public static Test innerSuite() {
|
||||
TestSuite suite = new TestSuite("FinalJavaSupertype");
|
||||
suite.addTestSuite(FinalJavaSupertype.class);
|
||||
TestSuite suite = new TestSuite("FinalJavaClass");
|
||||
suite.addTestSuite(FinalJavaClass.class);
|
||||
suite.addTest(JavaCode.innerSuite());
|
||||
return suite;
|
||||
}
|
||||
}
|
||||
|
||||
public static Test innerSuite() {
|
||||
TestSuite suite = new TestSuite("FinalSupertype");
|
||||
suite.addTestSuite(FinalSupertype.class);
|
||||
suite.addTest(FinalJavaSupertype.innerSuite());
|
||||
TestSuite suite = new TestSuite("AddOpenToClassDeclaration");
|
||||
suite.addTestSuite(AddOpenToClassDeclaration.class);
|
||||
suite.addTest(FinalJavaClass.innerSuite());
|
||||
return suite;
|
||||
}
|
||||
}
|
||||
@@ -578,7 +598,7 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
||||
public static Test innerSuite() {
|
||||
TestSuite suite = new TestSuite("Modifiers");
|
||||
suite.addTestSuite(Modifiers.class);
|
||||
suite.addTest(FinalSupertype.innerSuite());
|
||||
suite.addTest(AddOpenToClassDeclaration.innerSuite());
|
||||
return suite;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user