diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt index b5d1acb2723..91747e7fc5a 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/CallableBuilder.kt @@ -74,6 +74,10 @@ import com.intellij.psi.codeStyle.JavaCodeStyleManager import com.intellij.psi.PsiModifier import com.intellij.psi.PsiField import com.intellij.psi.PsiMember +import org.jetbrains.kotlin.idea.caches.resolve.getJavaClassDescriptor +import com.intellij.psi.PsiNamedElement +import com.intellij.psi.PsiMethodCallExpression +import com.intellij.psi.PsiExpressionStatement import org.jetbrains.kotlin.resolve.scopes.ChainedScope import org.jetbrains.kotlin.resolve.scopes.WritableScopeImpl import org.jetbrains.kotlin.resolve.scopes.RedeclarationHandler @@ -135,7 +139,7 @@ class CallableBuilderConfiguration( trait CallablePlacement { class WithReceiver(val receiverTypeCandidate: TypeCandidate): CallablePlacement - class NoReceiver(val containingElement: JetElement): CallablePlacement + class NoReceiver(val containingElement: PsiElement): CallablePlacement } class CallableBuilder(val config: CallableBuilderConfiguration) { @@ -231,8 +235,14 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { val placement = placement when { placement is CallablePlacement.NoReceiver -> { - containingElement = placement.containingElement - receiverClassDescriptor = (containingElement as? JetClassOrObject)?.let { currentFileContext[BindingContext.CLASS, it] } + containingElement = placement.containingElement as? JetElement ?: config.currentFile + receiverClassDescriptor = with (placement.containingElement) { + when (this) { + is JetClassOrObject -> currentFileContext[BindingContext.CLASS, this] + is PsiClass -> getJavaClassDescriptor() + else -> null + } + } } placement is CallablePlacement.WithReceiver -> { receiverClassDescriptor = @@ -558,8 +568,9 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { } private fun setupTypeReferencesForShortening(declaration: JetNamedDeclaration, - typeRefsToShorten: MutableList, - parameterTypeExpressions: List) { + parameterTypeExpressions: List): List { + val typeRefsToShorten = ArrayList() + if (config.isExtension) { val receiverTypeRef = JetPsiFactory(declaration).createType(receiverTypeCandidate!!.theType.renderLong(typeParameterNameMap)) replaceWithLongerName(receiverTypeRef, receiverTypeCandidate.theType) @@ -604,6 +615,8 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { parameterIndicesToShorten.stream() .map { expandedValueParameters[it].getTypeReference() } .filterNotNullTo(typeRefsToShorten) + + return typeRefsToShorten } private fun setupFunctionBody(func: JetNamedFunction) { @@ -768,19 +781,31 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { val newJavaMember: PsiMember = when (declaration) { is JetNamedFunction -> { - val method = createJavaMethod(declaration, targetClass) - method.getModifierList().setModifierProperty(PsiModifier.FINAL, false) - method + createJavaMethod(declaration, targetClass) } is JetProperty -> { createJavaField(declaration, targetClass) } + is JetClass -> { + createJavaClass(declaration, targetClass) + } else -> return false } + val modifierList = newJavaMember.getModifierList() + if (newJavaMember is PsiMethod || newJavaMember is PsiClass) { + modifierList.setModifierProperty(PsiModifier.FINAL, false) + } + declaration.delete() - newJavaMember.getModifierList().setModifierProperty(PsiModifier.STATIC, callableInfo.receiverTypeInfo.classObjectRequired) + val needStatic = when (callableInfo) { + is ConstructorInfo -> with(callableInfo.classInfo) { + !inner && kind != ClassKind.ENUM_ENTRY && kind != ClassKind.ENUM_CLASS + } + else -> callableInfo.receiverTypeInfo.classObjectRequired + } + modifierList.setModifierProperty(PsiModifier.STATIC, needStatic) JavaCodeStyleManager.getInstance(project).shortenClassReferences(newJavaMember); @@ -790,6 +815,18 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { when (newJavaMember) { is PsiMethod -> CreateFromUsageUtils.setupEditor(newJavaMember, targetEditor) is PsiField -> targetEditor.getCaretModel().moveToOffset(newJavaMember.getTextRange().getEndOffset() - 1) + is PsiClass -> { + val constructor = newJavaMember.getConstructors().firstOrNull() + val superStatement = constructor?.getBody()?.getStatements()?.firstOrNull() as? PsiExpressionStatement + val superCall = superStatement?.getExpression() as? PsiMethodCallExpression + if (superCall != null) { + val lParen = superCall.getArgumentList().getFirstChild() + targetEditor.getCaretModel().moveToOffset(lParen.getTextRange().getEndOffset()) + } + else { + targetEditor.getCaretModel().moveToOffset(newJavaMember.getTextRange().getStartOffset()) + } + } } targetEditor.getScrollingModel().scrollToCaret(ScrollType.RELATIVE) @@ -895,9 +932,10 @@ class CallableBuilder(val config: CallableBuilderConfiguration) { } } + // change short type names to fully qualified ones (to be shortened below) + val typeRefsToShorten = setupTypeReferencesForShortening(newDeclaration, parameterTypeExpressions) if (!transformToJavaMemberIfApplicable(newDeclaration)) { - // change short type names to fully qualified ones (to be shortened below) - setupTypeReferencesForShortening(newDeclaration, elementsToShorten, parameterTypeExpressions) + elementsToShorten.addAll(typeRefsToShorten) setupEditor(newDeclaration) } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromReferenceExpressionActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromReferenceExpressionActionFactory.kt index fb7093419c0..dcf4f1f0c43 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromReferenceExpressionActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromReferenceExpressionActionFactory.kt @@ -39,9 +39,19 @@ import org.jetbrains.kotlin.psi.JetReferenceExpression import java.util.Arrays import org.jetbrains.kotlin.psi.JetDotQualifiedExpression import org.jetbrains.kotlin.psi.psiUtil.isDotReceiver +import com.intellij.psi.PsiClass +import com.intellij.psi.PsiElement public object CreateClassFromReferenceExpressionActionFactory : JetIntentionActionsFactory() { override fun doCreateActions(diagnostic: Diagnostic): List { + fun isEnum(element: PsiElement): Boolean { + return when (element) { + is JetClass -> element.isEnum() + is PsiClass -> element.isEnum() + else -> false + } + } + val refExpr = diagnostic.getPsiElement() as? JetSimpleNameExpression ?: return Collections.emptyList() if (refExpr.getNonStrictParentOfType() != null) return Collections.emptyList() @@ -77,7 +87,7 @@ public object CreateClassFromReferenceExpressionActionFactory : JetIntentionActi .filter { when (it) { ClassKind.ANNOTATION_CLASS -> inImport - ClassKind.ENUM_ENTRY -> inImport && targetParent is JetClass && targetParent.isEnum() + ClassKind.ENUM_ENTRY -> inImport && isEnum(targetParent) else -> true } } @@ -104,7 +114,7 @@ public object CreateClassFromReferenceExpressionActionFactory : JetIntentionActi .filter { filter(it) && when (it) { ClassKind.OBJECT -> true - ClassKind.ENUM_ENTRY -> targetParent is JetClass && targetParent.isEnum() + ClassKind.ENUM_ENTRY -> isEnum(targetParent) else -> false } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromUsageFix.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromUsageFix.kt index d5d52ffeeef..728c4c34d49 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromUsageFix.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/CreateClassFromUsageFix.kt @@ -42,6 +42,9 @@ import com.intellij.ide.util.DirectoryChooserUtil import java.util.HashMap import com.intellij.openapi.application.ApplicationManager import org.jetbrains.kotlin.idea.refactoring.canRefactor +import com.intellij.psi.PsiMember +import com.intellij.psi.PsiClass +import com.intellij.psi.PsiFile enum class ClassKind(val keyword: String, val description: String) { PLAIN_CLASS: ClassKind("class", "class") @@ -70,6 +73,17 @@ public class CreateClassFromUsageFix( override fun getText(): String = JetBundle.message("create.0.from.usage", "${classInfo.kind.description} '${classInfo.name}'") + override fun isAvailable(project: Project, editor: Editor?, file: PsiFile?): Boolean { + if (!super.isAvailable(project, editor, file)) return false + with(classInfo) { + if (targetParent is PsiClass) { + if (kind == OBJECT || kind == ENUM_ENTRY) return false + if (targetParent.isInterface() && inner) return false + } + } + return true + } + override fun invoke(project: Project, editor: Editor, file: JetFile) { fun createFileByPackage(psiPackage: PsiPackage): JetFile? { val directories = psiPackage.getDirectories().filter { it.canRefactor() } @@ -105,10 +119,10 @@ public class CreateClassFromUsageFix( with (classInfo) { val targetParent = when (targetParent) { - is JetElement -> targetParent + is JetElement, is PsiClass -> targetParent is PsiPackage -> createFileByPackage(targetParent) else -> throw AssertionError("Unexpected element: " + targetParent.getText()) - } as? JetElement ?: return + } ?: return val constructorInfo = ConstructorInfo(classInfo, expectedTypeInfo) val builder = CallableBuilderConfiguration( diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/createClassUtils.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/createClassUtils.kt index dc8aa2ebc94..7c0637d800b 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/createClassUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/createClassUtils.kt @@ -45,6 +45,8 @@ import org.jetbrains.kotlin.idea.quickfix.DelegatingIntentionAction import org.jetbrains.kotlin.idea.JetBundle import com.intellij.psi.PsiPackage import org.jetbrains.kotlin.idea.refactoring.canRefactor +import com.intellij.psi.PsiClass +import org.jetbrains.kotlin.descriptors.ClassKind as ClassDescriptorKind private fun String.checkClassName(): Boolean = isNotEmpty() && Character.isUpperCase(first()) @@ -104,6 +106,8 @@ private fun JetExpression.getInheritableTypeInfo( return TypeInfo.ByType(type, Variance.OUT_VARIANCE).noSubstitutions() to { classKind -> when (classKind) { ClassKind.ENUM_ENTRY -> isEnum && containingDeclaration == DescriptorToSourceUtils.descriptorToDeclaration(descriptor) + ClassKind.TRAIT -> containingDeclaration !is PsiClass + || (descriptor as? ClassDescriptor)?.getKind() == ClassDescriptorKind.TRAIT else -> canHaveSubtypes } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/javaElementFactoryUtils.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/javaElementFactoryUtils.kt new file mode 100644 index 00000000000..2311c4a4c09 --- /dev/null +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/javaElementFactoryUtils.kt @@ -0,0 +1,37 @@ +/* + * 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.refactoring + +import com.intellij.psi.PsiReferenceList +import com.intellij.psi.PsiReferenceList.Role +import com.intellij.psi.PsiElementFactory +import com.intellij.psi.PsiJavaCodeReferenceElement +import org.jetbrains.kotlin.load.java.* + +public fun PsiElementFactory.createReferenceListWithRole( + references: Array, + role: Role +): PsiReferenceList? { + val filteredRefs = references.map { it.getCanonicalText() }.filter { it != JvmAbi.K_OBJECT.asString() } + val refListText = if (filteredRefs.isNotEmpty()) filteredRefs.joinToString() else return null + return when (role) { + Role.THROWS_LIST -> createMethodFromText("void foo() throws $refListText {}", null).getThrowsList() + Role.EXTENDS_LIST -> createClassFromText("class Foo extends $refListText {}", null).getInnerClasses()[0].getExtendsList() + Role.IMPLEMENTS_LIST -> createClassFromText("class Foo implements $refListText {}", null).getInnerClasses()[0].getImplementsList() + Role.EXTENDS_BOUNDS_LIST -> createTypeParameterFromText("T extends $refListText", null).getExtendsList() + } +} diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/jetRefactoringUtil.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/jetRefactoringUtil.kt index 09828840f4f..a5fed60fc8d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/jetRefactoringUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/jetRefactoringUtil.kt @@ -86,6 +86,14 @@ import com.intellij.util.VisibilityUtil import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor.Kind import org.jetbrains.kotlin.resolve.OverridingUtil +import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor +import org.jetbrains.kotlin.descriptors.ClassDescriptor +import org.jetbrains.kotlin.descriptors.ClassKind +import com.intellij.psi.PsiReferenceList +import com.intellij.psi.PsiTypeParameter +import com.intellij.psi.PsiTypeParameterListOwner +import com.intellij.psi.PsiNameIdentifierOwner +import com.intellij.psi.PsiJavaCodeReferenceElement import com.intellij.lang.java.JavaLanguage import com.intellij.psi.PsiClass import com.intellij.codeInsight.daemon.impl.quickfix.CreateFromUsageUtils @@ -446,20 +454,19 @@ private fun copyModifierListItems(from: PsiModifierList, to: PsiModifierList, wi } } -public fun createJavaMethod(function: JetNamedFunction, targetClass: PsiClass): PsiMethod { - val template = LightClassUtil.getLightClassMethod(function) - ?: throw AssertionError("Can't generate light method: ${JetPsiUtil.getElementTextWithContext(function)}") - - val factory = PsiElementFactory.SERVICE.getInstance(template.getProject()) - val method = targetClass.add(factory.createMethod(template.getName(), template.getReturnType())) as PsiMethod - - copyModifierListItems(template.getModifierList(), method.getModifierList()) - - val templateTypeParamList = template.getTypeParameterList() - if (templateTypeParamList != null) { - val targetTypeParamList = method.addAfter(factory.createTypeParameterList(), method.getModifierList()) as PsiTypeParameterList - val newTypeParams = templateTypeParamList.getTypeParameters() - .map { factory.createTypeParameter(it.getName(), it.getExtendsList().getReferencedTypes()) } +private fun copyTypeParameters( + from: T, + to: T, + inserter: (T, PsiTypeParameterList) -> Unit +) where T : PsiNameIdentifierOwner { + val factory = PsiElementFactory.SERVICE.getInstance((from : PsiElement).getProject()) + val templateTypeParams = from.getTypeParameterList()?.getTypeParameters() ?: PsiTypeParameter.EMPTY_ARRAY + if (templateTypeParams.isNotEmpty()) { + inserter(to, factory.createTypeParameterList()) + val targetTypeParamList = to.getTypeParameterList() + val newTypeParams = templateTypeParams.map { + factory.createTypeParameter(it.getName(), it.getExtendsList().getReferencedTypes()) + } ChangeSignatureUtil.synchronizeList( targetTypeParamList, newTypeParams, @@ -467,6 +474,29 @@ public fun createJavaMethod(function: JetNamedFunction, targetClass: PsiClass): BooleanArray(newTypeParams.size()) ) } +} + +public fun createJavaMethod(function: JetNamedFunction, targetClass: PsiClass): PsiMethod { + val template = LightClassUtil.getLightClassMethod(function) + ?: throw AssertionError("Can't generate light method: ${JetPsiUtil.getElementTextWithContext(function)}") + return createJavaMethod(template, targetClass) +} + +public fun createJavaMethod(template: PsiMethod, targetClass: PsiClass): PsiMethod { + val factory = PsiElementFactory.SERVICE.getInstance(template.getProject()) + val methodToAdd = if (template.isConstructor()) { + factory.createConstructor(template.getName()) + } + else { + factory.createMethod(template.getName(), template.getReturnType()) + } + val method = targetClass.add(methodToAdd) as PsiMethod + + copyModifierListItems(template.getModifierList(), method.getModifierList()) + + copyTypeParameters(template, method) { (method, typeParameterList) -> + method.addAfter(typeParameterList, method.getModifierList()) + } val targetParamList = method.getParameterList() val newParams = template.getParameterList().getParameters().map { @@ -484,7 +514,7 @@ public fun createJavaMethod(function: JetNamedFunction, targetClass: PsiClass): if (template.getModifierList().hasModifierProperty(PsiModifier.ABSTRACT) || targetClass.isInterface()) { method.getBody().delete() } - else { + else if (!template.isConstructor()) { CreateFromUsageUtils.setupMethodBody(method) } @@ -509,3 +539,57 @@ fun createJavaField(property: JetProperty, targetClass: PsiClass): PsiField { return field } + +fun createJavaClass(klass: JetClass, targetClass: PsiClass): PsiMember { + val kind = (klass.resolveToDescriptor() as ClassDescriptor).getKind() + + val factory = PsiElementFactory.SERVICE.getInstance(klass.getProject()) + val javaClassToAdd = when (kind) { + ClassKind.CLASS -> factory.createClass(klass.getName()) + ClassKind.TRAIT -> factory.createInterface(klass.getName()) + ClassKind.ANNOTATION_CLASS -> factory.createAnnotationType(klass.getName()) + ClassKind.ENUM_CLASS -> factory.createEnum(klass.getName()) + else -> throw AssertionError("Unexpected class kind: ${JetPsiUtil.getElementTextWithContext(klass)}") + } + val javaClass = targetClass.add(javaClassToAdd) as PsiClass + + val template = LightClassUtil.getPsiClass(klass) + ?: throw AssertionError("Can't generate light class: ${JetPsiUtil.getElementTextWithContext(klass)}") + + copyModifierListItems(template.getModifierList(), javaClass.getModifierList()) + if (template.isInterface()) { + javaClass.getModifierList().setModifierProperty(PsiModifier.ABSTRACT, false) + } + + copyTypeParameters(template, javaClass) { (klass, typeParameterList) -> + klass.addAfter(typeParameterList, klass.getNameIdentifier()) + } + + val extendsList = factory.createReferenceListWithRole( + template.getExtendsList()?.getReferenceElements() ?: PsiJavaCodeReferenceElement.EMPTY_ARRAY, + PsiReferenceList.Role.EXTENDS_LIST + ) + extendsList?.let { javaClass.getExtendsList()?.replace(it) } + + val implementsList = factory.createReferenceListWithRole( + template.getImplementsList()?.getReferenceElements() ?: PsiJavaCodeReferenceElement.EMPTY_ARRAY, + PsiReferenceList.Role.IMPLEMENTS_LIST + ) + implementsList?.let { javaClass.getImplementsList()?.replace(it) } + + for (method in template.getMethods()) { + val hasParams = method.getParameterList().getParametersCount() > 0 + val needSuperCall = !template.isEnum() && + (template.getSuperClass()?.getConstructors() ?: PsiMethod.EMPTY_ARRAY).all { + it.getParameterList().getParametersCount() > 0 + } + if (method.isConstructor() && !(hasParams || needSuperCall)) continue + with(createJavaMethod(method, javaClass)) { + if (isConstructor() && needSuperCall) { + getBody().add(factory.createStatementFromText("super();", this)) + } + } + } + + return javaClass +} diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedGroovyAnnotation.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedGroovyAnnotation.before.Main.kt new file mode 100644 index 00000000000..d7227a558f5 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedGroovyAnnotation.before.Main.kt @@ -0,0 +1,6 @@ +// "Create annotation 'foo'" "false" +// ERROR: Unresolved reference: foo + +J.foo(1, "2") fun test() { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedGroovyAnnotation.before.data.Sample.groovy b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedGroovyAnnotation.before.data.Sample.groovy new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedGroovyAnnotation.before.data.Sample.groovy @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.after.data.Sample.java new file mode 100644 index 00000000000..57cd13fe042 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.after.data.Sample.java @@ -0,0 +1,8 @@ +class J { + + public static @interface foo { + int i(); + + String s(); + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.after.kt b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.after.kt new file mode 100644 index 00000000000..c9b3c3bdec7 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.after.kt @@ -0,0 +1,7 @@ +// "Create annotation 'foo'" "true" +// ERROR: Unresolved reference: foo + +J.foo(1, "2") fun test() { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.before.Main.kt new file mode 100644 index 00000000000..8c58fc7056d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.before.Main.kt @@ -0,0 +1,6 @@ +// "Create annotation 'foo'" "true" +// ERROR: Unresolved reference: foo + +J.foo(1, "2") fun test() { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.after.data.Sample.java new file mode 100644 index 00000000000..af314c86e46 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.after.data.Sample.java @@ -0,0 +1,8 @@ +class J { + + public static @interface foo { + int count(); + + String name(); + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.after.kt b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.after.kt new file mode 100644 index 00000000000..e0a4660fccd --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.after.kt @@ -0,0 +1,7 @@ +// "Create annotation 'foo'" "true" +// ERROR: Unresolved reference: foo + +J.foo(count = 1, name = "2") fun test() { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.before.Main.kt new file mode 100644 index 00000000000..9faf18920f6 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.before.Main.kt @@ -0,0 +1,6 @@ +// "Create annotation 'foo'" "true" +// ERROR: Unresolved reference: foo + +J.foo(count = 1, name = "2") fun test() { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..626d393cd36 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.after.data.Sample.java @@ -0,0 +1,8 @@ +class J { + + public static @interface bar { + String s(); + + int i(); + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.after.kt new file mode 100644 index 00000000000..da1912c95dd --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.after.kt @@ -0,0 +1,8 @@ +// "Create annotation 'bar'" "true" +// ERROR: Unresolved reference: foo +// ERROR: Unresolved reference: bar + +[foo(1, "2", J.bar("3", 4))] fun test() { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..9ba0d85c100 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.before.Main.kt @@ -0,0 +1,7 @@ +// "Create annotation 'bar'" "true" +// ERROR: Unresolved reference: foo +// ERROR: Unresolved reference: bar + +[foo(1, "2", J.bar("3", 4))] fun test() { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..9c88779e6ca --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.after.data.Sample.java @@ -0,0 +1,9 @@ +import org.jetbrains.annotations.NotNull; + +class J { + + public static class Foo { + public Foo(int abc, @NotNull A ghi, @NotNull String def) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.after.kt new file mode 100644 index 00000000000..60ca2e735da --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val n: Int) + +fun test() = J.Foo(abc = 1, ghi = A(2), def = "s") + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..dd0f0d82a1c --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val n: Int) + +fun test() = J.Foo(abc = 1, ghi = A(2), def = "s") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithFinalJavaSupertype.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithFinalJavaSupertype.before.Main.kt new file mode 100644 index 00000000000..6b93389e9e1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithFinalJavaSupertype.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "false" +// ACTION: Create function 'Foo' +// ACTION: Convert to block body +// ERROR: Unresolved reference: Foo + +fun test(): A = Foo(2, "2") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithFinalJavaSupertype.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithFinalJavaSupertype.before.data.Sample.java new file mode 100644 index 00000000000..71f28c12c04 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithFinalJavaSupertype.before.data.Sample.java @@ -0,0 +1,3 @@ +final class A { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.after.data.Sample.java new file mode 100644 index 00000000000..47f79cd9376 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.after.data.Sample.java @@ -0,0 +1,10 @@ +class J { + public J(T n) { + + } + + public class Foo { + public Foo(U u) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.after.kt new file mode 100644 index 00000000000..a3707445e7f --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +fun test(u: U) { + val a = J(u).Foo(u) +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.before.Main.kt new file mode 100644 index 00000000000..a42b7852208 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +fun test(u: U) { + val a = J(u).Foo(u) +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.before.data.Sample.java new file mode 100644 index 00000000000..b678db06ace --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.before.data.Sample.java @@ -0,0 +1,5 @@ +class J { + public J(T n) { + + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGroovyClassQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGroovyClassQualifier.before.Main.kt new file mode 100644 index 00000000000..a5c8b9cc8a9 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGroovyClassQualifier.before.Main.kt @@ -0,0 +1,4 @@ +// "Create class 'Foo'" "false" +// ERROR: Unresolved reference: Foo + +fun test() = J.Foo(2, "2") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGroovyClassQualifier.before.data.Sample.groovy b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGroovyClassQualifier.before.data.Sample.groovy new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGroovyClassQualifier.before.data.Sample.groovy @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.after.data.Sample.java new file mode 100644 index 00000000000..aa1eea238a4 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.after.data.Sample.java @@ -0,0 +1,7 @@ +class J { + + public static class Foo { + public Foo(int i) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.after.kt new file mode 100644 index 00000000000..126bc831b54 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +fun test() { + val a = J.Foo(2) +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.before.Main.kt new file mode 100644 index 00000000000..5da55ed0cc4 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +fun test() { + val a = J.Foo(2) +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.after.data.Sample.java new file mode 100644 index 00000000000..6f7617c62a6 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.after.data.Sample.java @@ -0,0 +1,7 @@ +class J { + + public class Foo { + public Foo(int i) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.after.kt new file mode 100644 index 00000000000..95347131680 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +fun test() { + val a = J().Foo(2) +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.Main.kt index ba9ea1b1a4a..e9c593241e9 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.Main.kt +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.Main.kt @@ -1,9 +1,6 @@ -// "Create class 'Foo'" "false" -// ACTION: Create extension function 'Foo' -// ACTION: Create function 'Foo' -// ACTION: Convert to expression body +// "Create class 'Foo'" "true" // ERROR: Unresolved reference: Foo -fun test(): Int { - return A().Foo(1, "2") +fun test() { + val a = J().Foo(2) } \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.data.Sample.java index 1b4568a8f26..cfa2a621482 100644 --- a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.data.Sample.java +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.data.Sample.java @@ -1,3 +1,3 @@ -class A { +class J { } \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.after.data.Sample.java new file mode 100644 index 00000000000..6d2bfab3862 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.after.data.Sample.java @@ -0,0 +1,10 @@ +import kotlin.properties.ReadOnlyProperty; +import org.jetbrains.annotations.NotNull; + +class J { + + public static class Foo implements ReadOnlyProperty, B> { + public Foo(T t, @NotNull String s) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.after.kt new file mode 100644 index 00000000000..12f4e60b4d2 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.after.kt @@ -0,0 +1,10 @@ +// "Create class 'Foo'" "true" +// WITH_RUNTIME +// ERROR: Unresolved reference: Foo + +open class B + +class A(val t: T) { + val x: B by J.Foo(t, "") +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.before.Main.kt new file mode 100644 index 00000000000..9ffccfe7ae1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.before.Main.kt @@ -0,0 +1,9 @@ +// "Create class 'Foo'" "true" +// WITH_RUNTIME +// ERROR: Unresolved reference: Foo + +open class B + +class A(val t: T) { + val x: B by J.Foo(t, "") +} diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.after.data.Sample.java new file mode 100644 index 00000000000..aa4c335568b --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.after.data.Sample.java @@ -0,0 +1,9 @@ +import org.jetbrains.annotations.NotNull; + +class J { + + public static class Foo extends A { + public Foo(int i, @NotNull String s) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.after.kt new file mode 100644 index 00000000000..8a01d7e8f7c --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +open class A + +fun test(): A = J.Foo(2, "2") + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.before.Main.kt new file mode 100644 index 00000000000..94cf96178b8 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +open class A + +fun test(): A = J.Foo(2, "2") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.after.data.Sample.java new file mode 100644 index 00000000000..ece47163670 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.after.data.Sample.java @@ -0,0 +1,10 @@ +import org.jetbrains.annotations.NotNull; + +class J { + + public static class Foo extends A { + public Foo(int i, @NotNull String s) { + super(); + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.after.kt new file mode 100644 index 00000000000..53a956154bf --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +open class A(val n: Int) + +fun test(): A = J.Foo(2, "2") + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.before.Main.kt new file mode 100644 index 00000000000..d4bed271e6b --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +open class A(val n: Int) + +fun test(): A = J.Foo(2, "2") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.after.data.Sample.java new file mode 100644 index 00000000000..d3e634f3059 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.after.data.Sample.java @@ -0,0 +1,9 @@ +import org.jetbrains.annotations.NotNull; + +class J { + + public static class Foo implements T { + public Foo(int i, @NotNull String s) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.after.kt new file mode 100644 index 00000000000..a088cbcaef1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +trait T + +fun test(): T = J.Foo(2, "2") + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.before.Main.kt new file mode 100644 index 00000000000..95078d17104 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +trait T + +fun test(): T = J.Foo(2, "2") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.after.data.Sample.java new file mode 100644 index 00000000000..e8f18a17f0d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.after.data.Sample.java @@ -0,0 +1,8 @@ +class B { + final T t = null; + + public static class Foo { + public Foo(U u, V v) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.after.kt new file mode 100644 index 00000000000..b5ab0300d0a --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = B.Foo(2, "2") +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.before.Main.kt new file mode 100644 index 00000000000..e0d4166dcf4 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = B.Foo(2, "2") +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.before.data.Sample.java new file mode 100644 index 00000000000..e6b7bac486c --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.before.data.Sample.java @@ -0,0 +1,3 @@ +class B { + final T t = null; +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.after.data.Sample.java new file mode 100644 index 00000000000..7685ac3b7c8 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.after.data.Sample.java @@ -0,0 +1,8 @@ +class B { + final T t = null; + + public class Foo { + public Foo(U u, V v) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.after.kt new file mode 100644 index 00000000000..b32b3747174 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = b.Foo(2, "2") +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.before.Main.kt new file mode 100644 index 00000000000..6861ee7148d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = b.Foo(2, "2") +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.before.data.Sample.java new file mode 100644 index 00000000000..e6b7bac486c --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.before.data.Sample.java @@ -0,0 +1,3 @@ +class B { + final T t = null; +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.after.data.Sample.java new file mode 100644 index 00000000000..289f5ace566 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.after.data.Sample.java @@ -0,0 +1,8 @@ +class B { + final T t = null; + + public class Foo { + public Foo(int i, U u) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.after.kt new file mode 100644 index 00000000000..29122cc564a --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = b.Foo(2, "2") +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.before.Main.kt new file mode 100644 index 00000000000..f5ae1c21f53 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = b.Foo(2, "2") +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.before.data.Sample.java new file mode 100644 index 00000000000..e6b7bac486c --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.before.data.Sample.java @@ -0,0 +1,3 @@ +class B { + final T t = null; +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.after.data.Sample.java new file mode 100644 index 00000000000..6d76e18be84 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.after.data.Sample.java @@ -0,0 +1,8 @@ +class B { + final T t = null; + + public class Foo { + public Foo(V v, W w) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.after.kt new file mode 100644 index 00000000000..598dcc82da3 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = b.Foo(2, "2") +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.before.Main.kt new file mode 100644 index 00000000000..53e840bc9c9 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = b.Foo(2, "2") +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.before.data.Sample.java new file mode 100644 index 00000000000..e6b7bac486c --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.before.data.Sample.java @@ -0,0 +1,3 @@ +class B { + final T t = null; +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.after.data.Sample.java new file mode 100644 index 00000000000..8ae8a7d1391 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.after.data.Sample.java @@ -0,0 +1,8 @@ +class B { + final T t = null; + + public static class Foo { + public Foo(int i, U u) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.after.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.after.kt new file mode 100644 index 00000000000..8abe40641b1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.after.kt @@ -0,0 +1,7 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = B.Foo(2, "2") +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.before.Main.kt new file mode 100644 index 00000000000..b18b19c081e --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.before.Main.kt @@ -0,0 +1,6 @@ +// "Create class 'Foo'" "true" +// ERROR: Unresolved reference: Foo + +class A(val b: B) { + fun test() = B.Foo(2, "2") +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.before.data.Sample.java new file mode 100644 index 00000000000..e6b7bac486c --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.before.data.Sample.java @@ -0,0 +1,3 @@ +class B { + final T t = null; +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.after.data.Sample.java new file mode 100644 index 00000000000..eae683a3583 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.after.data.Sample.java @@ -0,0 +1,9 @@ +import org.jetbrains.annotations.NotNull; + +class J { + + public static class A { + public A(int i, @NotNull String s, @NotNull B B) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.after.kt b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.after.kt new file mode 100644 index 00000000000..eb8de1bb97e --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.after.kt @@ -0,0 +1,10 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +class B { + +} + +class Foo: J.A(1, "2", B()) { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.before.Main.kt new file mode 100644 index 00000000000..53e4abca897 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.before.Main.kt @@ -0,0 +1,9 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +class B { + +} + +class Foo: J.A(1, "2", B()) { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.after.data.Sample.java new file mode 100644 index 00000000000..d76c7475bb7 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.after.data.Sample.java @@ -0,0 +1,9 @@ +import org.jetbrains.annotations.NotNull; + +class J { + + public static class A { + public A(int abc, @NotNull String ghi, @NotNull B def) { + } + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.after.kt b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.after.kt new file mode 100644 index 00000000000..2914265f40d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.after.kt @@ -0,0 +1,10 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +class B { + +} + +class Foo: J.A(abc = 1, ghi = "2", def = B()) { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.before.Main.kt new file mode 100644 index 00000000000..ba8046e2727 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.before.Main.kt @@ -0,0 +1,9 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +class B { + +} + +class Foo: J.A(abc = 1, ghi = "2", def = B()) { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedGroovySuperclass.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedGroovySuperclass.before.Main.kt new file mode 100644 index 00000000000..23e303cc2d1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedGroovySuperclass.before.Main.kt @@ -0,0 +1,5 @@ +// "Create trait 'A'" "false" +// ERROR: Unresolved reference: A +class Foo: J.A { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedGroovySuperclass.before.data.Sample.groovy b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedGroovySuperclass.before.data.Sample.groovy new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedGroovySuperclass.before.data.Sample.groovy @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.after.data.Sample.java new file mode 100644 index 00000000000..d2b02350b5d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.after.data.Sample.java @@ -0,0 +1,5 @@ +class J { + + public static interface A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.after.kt b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.after.kt new file mode 100644 index 00000000000..a681bf35d83 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.after.kt @@ -0,0 +1,6 @@ +// "Create trait 'A'" "true" +// ERROR: Unresolved reference: A +class Foo: J.A { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.before.Main.kt new file mode 100644 index 00000000000..5695ee57183 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.before.Main.kt @@ -0,0 +1,5 @@ +// "Create trait 'A'" "true" +// ERROR: Unresolved reference: A +class Foo: J.A { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..7878456f556 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.after.data.Sample.java @@ -0,0 +1,5 @@ +public class J { + + public static @interface A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.after.kt new file mode 100644 index 00000000000..171c56c0e0e --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.after.kt @@ -0,0 +1,8 @@ +// "Create annotation 'A'" "true" +// ERROR: Unresolved reference: A +import J.A + +class X { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..c602f2513c0 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.before.Main.kt @@ -0,0 +1,7 @@ +// "Create annotation 'A'" "true" +// ERROR: Unresolved reference: A +import J.A + +class X { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..c4e0bbd2817 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +public class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithGroovyQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithGroovyQualifier.before.Main.kt new file mode 100644 index 00000000000..3978a538b60 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithGroovyQualifier.before.Main.kt @@ -0,0 +1,8 @@ +// "Create class 'A'" "false" +// ERROR: Unresolved reference: A +// ACTION: Create property 'A' +import J.A + +class X { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithGroovyQualifier.before.data.Sample.groovy b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithGroovyQualifier.before.data.Sample.groovy new file mode 100644 index 00000000000..c4e0bbd2817 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithGroovyQualifier.before.data.Sample.groovy @@ -0,0 +1,3 @@ +public class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..f0aa7271feb --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.after.data.Sample.java @@ -0,0 +1,5 @@ +public class J { + + public static class A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.after.kt new file mode 100644 index 00000000000..2634d76ae14 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.after.kt @@ -0,0 +1,8 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +import J.A + +class X { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..07b9bdf0483 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.before.Main.kt @@ -0,0 +1,7 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +import J.A + +class X { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..c4e0bbd2817 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +public class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumEntryInJavaEnum.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumEntryInJavaEnum.before.Main.kt new file mode 100644 index 00000000000..ed8103e774b --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumEntryInJavaEnum.before.Main.kt @@ -0,0 +1,12 @@ +// "Create enum constant 'A'" "false" +// ACTION: Create annotation 'A' +// ACTION: Create class 'A' +// ACTION: Create enum 'A' +// ACTION: Create property 'A' +// ACTION: Create trait 'A' +// ERROR: Unresolved reference: A +import E.A + +class X { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumEntryInJavaEnum.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumEntryInJavaEnum.before.data.Sample.java new file mode 100644 index 00000000000..e28b4d0f231 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumEntryInJavaEnum.before.data.Sample.java @@ -0,0 +1,3 @@ +public enum E { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..daede8cf7a1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.after.data.Sample.java @@ -0,0 +1,4 @@ +public class J { + + public enum A {} +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.after.kt new file mode 100644 index 00000000000..66052afd1b5 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.after.kt @@ -0,0 +1,8 @@ +// "Create enum 'A'" "true" +// ERROR: Unresolved reference: A +import J.A + +class X { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..2434a351822 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.before.Main.kt @@ -0,0 +1,7 @@ +// "Create enum 'A'" "true" +// ERROR: Unresolved reference: A +import J.A + +class X { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..c4e0bbd2817 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +public class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/objectWithJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/objectWithJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..a46fc936cbc --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/objectWithJavaQualifier.before.Main.kt @@ -0,0 +1,12 @@ +// "Create object 'A'" "false" +// ERROR: Unresolved reference: A +// ACTION: Create annotation 'A' +// ACTION: Create class 'A' +// ACTION: Create enum 'A' +// ACTION: Create property 'A' +// ACTION: Create trait 'A' +import J.A + +class X { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/objectWithJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/objectWithJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..c4e0bbd2817 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/objectWithJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +public class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..817ebc94723 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.after.data.Sample.java @@ -0,0 +1,5 @@ +public class J { + + public static interface A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.after.kt new file mode 100644 index 00000000000..8bab38e77b7 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.after.kt @@ -0,0 +1,8 @@ +// "Create trait 'A'" "true" +// ERROR: Unresolved reference: A +import J.A + +class X { + +} + diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..7485adf6d5a --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.before.Main.kt @@ -0,0 +1,7 @@ +// "Create trait 'A'" "true" +// ERROR: Unresolved reference: A +import J.A + +class X { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..c4e0bbd2817 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +public class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedGroovyQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedGroovyQualifier.before.Main.kt new file mode 100644 index 00000000000..f602a97454a --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedGroovyQualifier.before.Main.kt @@ -0,0 +1,3 @@ +// "Create class 'A'" "false" +// ERROR: Unresolved reference: A +fun foo() = J.A.B diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedGroovyQualifier.before.data.Sample.groovy b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedGroovyQualifier.before.data.Sample.groovy new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedGroovyQualifier.before.data.Sample.groovy @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..48e09356609 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.after.data.Sample.java @@ -0,0 +1,5 @@ +class J { + + public static class A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.after.kt new file mode 100644 index 00000000000..f195dcf89f1 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.after.kt @@ -0,0 +1,4 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +fun foo() = J.A.B + diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..6dfa32ca420 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.before.Main.kt @@ -0,0 +1,3 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +fun foo() = J.A.B diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..fa2d183687a --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.after.data.Sample.java @@ -0,0 +1,4 @@ +class J { + + public enum A {} +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.after.kt new file mode 100644 index 00000000000..2df320b2a06 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.after.kt @@ -0,0 +1,4 @@ +// "Create enum 'A'" "true" +// ERROR: Unresolved reference: A +fun foo() = J.A.B + diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..3210a5c29af --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.before.Main.kt @@ -0,0 +1,3 @@ +// "Create enum 'A'" "true" +// ERROR: Unresolved reference: A +fun foo() = J.A.B diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumQualifier.before.Main.kt new file mode 100644 index 00000000000..720b79cff56 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumQualifier.before.Main.kt @@ -0,0 +1,4 @@ +// "Create enum constant 'A'" "false" +// ACTION: Create property 'A' +// ERROR: Unresolved reference: A +fun foo() = J.A diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumQualifier.before.data.Sample.java new file mode 100644 index 00000000000..0c636531fed --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +enum J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumSuperclass.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumSuperclass.before.Main.kt new file mode 100644 index 00000000000..674b30e9d2c --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumSuperclass.before.Main.kt @@ -0,0 +1,5 @@ +// "Create enum constant 'A'" "false" +// ACTION: Convert to block body +// ACTION: Create property 'A' +// ERROR: Unresolved reference: A +fun foo(): J = J.A diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumSuperclass.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumSuperclass.before.data.Sample.java new file mode 100644 index 00000000000..0c636531fed --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumSuperclass.before.data.Sample.java @@ -0,0 +1,3 @@ +enum J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumQualifier.before.Main.kt new file mode 100644 index 00000000000..720b79cff56 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumQualifier.before.Main.kt @@ -0,0 +1,4 @@ +// "Create enum constant 'A'" "false" +// ACTION: Create property 'A' +// ERROR: Unresolved reference: A +fun foo() = J.A diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumQualifier.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumSuperclass.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumSuperclass.before.Main.kt new file mode 100644 index 00000000000..feb19b4d8de --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumSuperclass.before.Main.kt @@ -0,0 +1,5 @@ +// "Create enum constant 'A'" "false" +// ACTION: Convert to block body +// ACTION: Create property 'A' +// ERROR: Unresolved reference: A +fun foo(): X = E.A diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumSuperclass.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumSuperclass.before.data.Sample.java new file mode 100644 index 00000000000..6d642fdc7ca --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumSuperclass.before.data.Sample.java @@ -0,0 +1,7 @@ +class X { + +} + +enum E { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectWithJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectWithJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..fd5882543e7 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectWithJavaQualifier.before.Main.kt @@ -0,0 +1,4 @@ +// "Create object 'A'" "false" +// ACTION: Create property 'A' +// ERROR: Unresolved reference: A +fun foo() = J.A diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectWithJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectWithJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectWithJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.after.data.Sample.java new file mode 100644 index 00000000000..d2b02350b5d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.after.data.Sample.java @@ -0,0 +1,5 @@ +class J { + + public static interface A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.after.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.after.kt new file mode 100644 index 00000000000..2054be2aa12 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.after.kt @@ -0,0 +1,4 @@ +// "Create trait 'A'" "true" +// ERROR: Unresolved reference: A +fun foo() = J.A.B + diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.before.Main.kt new file mode 100644 index 00000000000..147321764b9 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.before.Main.kt @@ -0,0 +1,3 @@ +// "Create trait 'A'" "true" +// ERROR: Unresolved reference: A +fun foo() = J.A.B diff --git a/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.after.data.Sample.java new file mode 100644 index 00000000000..a93f9c9d566 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.after.data.Sample.java @@ -0,0 +1,5 @@ +class J { + + public static @interface A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.after.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.after.kt new file mode 100644 index 00000000000..b73e0d031c6 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.after.kt @@ -0,0 +1,4 @@ +// "Create annotation 'A'" "true" +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") + diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.before.Main.kt new file mode 100644 index 00000000000..0b74faf0d2f --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.before.Main.kt @@ -0,0 +1,3 @@ +// "Create annotation 'A'" "true" +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/classGroovyTypeReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classGroovyTypeReceiver.before.Main.kt new file mode 100644 index 00000000000..45a13c38b3a --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classGroovyTypeReceiver.before.Main.kt @@ -0,0 +1,4 @@ +// "Create class 'A'" "false" +// ACTION: Convert to block body +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/classGroovyTypeReceiver.before.data.Sample.groovy b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classGroovyTypeReceiver.before.data.Sample.groovy new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classGroovyTypeReceiver.before.data.Sample.groovy @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.after.data.Sample.java new file mode 100644 index 00000000000..48e09356609 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.after.data.Sample.java @@ -0,0 +1,5 @@ +class J { + + public static class A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.after.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.after.kt new file mode 100644 index 00000000000..6153fb0c1da --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.after.kt @@ -0,0 +1,4 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") + diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.before.Main.kt new file mode 100644 index 00000000000..7d86aa2b87e --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.before.Main.kt @@ -0,0 +1,3 @@ +// "Create class 'A'" "true" +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumEntryJavaEnumReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumEntryJavaEnumReceiver.before.Main.kt new file mode 100644 index 00000000000..1e0766abbb5 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumEntryJavaEnumReceiver.before.Main.kt @@ -0,0 +1,8 @@ +// "Create enum constant 'A'" "false" +// ACTION: Convert to block body +// ACTION: Create annotation 'A' +// ACTION: Create class 'A' +// ACTION: Create enum 'A' +// ACTION: Create trait 'A' +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumEntryJavaEnumReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumEntryJavaEnumReceiver.before.data.Sample.java new file mode 100644 index 00000000000..0c636531fed --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumEntryJavaEnumReceiver.before.data.Sample.java @@ -0,0 +1,3 @@ +enum J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.after.data.Sample.java new file mode 100644 index 00000000000..fa2d183687a --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.after.data.Sample.java @@ -0,0 +1,4 @@ +class J { + + public enum A {} +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.after.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.after.kt new file mode 100644 index 00000000000..4ab446e5365 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.after.kt @@ -0,0 +1,4 @@ +// "Create enum 'A'" "true" +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") + diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.before.Main.kt new file mode 100644 index 00000000000..346848101e5 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.before.Main.kt @@ -0,0 +1,3 @@ +// "Create enum 'A'" "true" +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.after.data.Sample.java new file mode 100644 index 00000000000..d2b02350b5d --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.after.data.Sample.java @@ -0,0 +1,5 @@ +class J { + + public static interface A { + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.after.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.after.kt new file mode 100644 index 00000000000..573ff7fcf07 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.after.kt @@ -0,0 +1,4 @@ +// "Create trait 'A'" "true" +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") + diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.before.Main.kt b/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.before.Main.kt new file mode 100644 index 00000000000..328cc1328f4 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.before.Main.kt @@ -0,0 +1,3 @@ +// "Create trait 'A'" "true" +// ERROR: Unresolved reference: A +fun foo(): J.A = throw Throwable("") \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.before.data.Sample.java new file mode 100644 index 00000000000..cfa2a621482 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.before.data.Sample.java @@ -0,0 +1,3 @@ +class J { + +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.after.data.Sample.java new file mode 100644 index 00000000000..9269545c4fc --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.after.data.Sample.java @@ -0,0 +1,7 @@ +class B{ + final T t; + + public U foo(U u, V v) { + return null; + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.after.kt b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.after.kt new file mode 100644 index 00000000000..1a7877abe31 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.after.kt @@ -0,0 +1,8 @@ +// "Create function 'foo'" "true" +// ERROR: Unresolved reference: foo + +class A(val b: B) { + fun test(): Int { + return b.foo(2, "2") + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.before.Main.kt b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.before.Main.kt new file mode 100644 index 00000000000..165ae074545 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.before.Main.kt @@ -0,0 +1,8 @@ +// "Create function 'foo'" "true" +// ERROR: Unresolved reference: foo + +class A(val b: B) { + fun test(): Int { + return b.foo(2, "2") + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.before.data.Sample.java new file mode 100644 index 00000000000..e8e9e225d08 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.before.data.Sample.java @@ -0,0 +1,3 @@ +class B{ + final T t; +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.after.data.Sample.java new file mode 100644 index 00000000000..42e9d9a52d6 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.after.data.Sample.java @@ -0,0 +1,9 @@ +import org.jetbrains.annotations.NotNull; + +class B{ + final T t; + + public U foo(U u, @NotNull String s) { + return null; + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.after.kt b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.after.kt new file mode 100644 index 00000000000..91522e59ae7 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.after.kt @@ -0,0 +1,8 @@ +// "Create function 'foo'" "true" +// ERROR: Unresolved reference: foo + +class A(val b: B) { + fun test(): Int { + return b.foo(2, "2") + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.before.Main.kt b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.before.Main.kt new file mode 100644 index 00000000000..7a0313c4186 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.before.Main.kt @@ -0,0 +1,8 @@ +// "Create function 'foo'" "true" +// ERROR: Unresolved reference: foo + +class A(val b: B) { + fun test(): Int { + return b.foo(2, "2") + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.before.data.Sample.java new file mode 100644 index 00000000000..e8e9e225d08 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.before.data.Sample.java @@ -0,0 +1,3 @@ +class B{ + final T t; +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.after.data.Sample.java b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.after.data.Sample.java new file mode 100644 index 00000000000..cbd98d5a721 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.after.data.Sample.java @@ -0,0 +1,7 @@ +class B{ + final T t; + + public U foo(V v, W w) { + return null; + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.after.kt b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.after.kt new file mode 100644 index 00000000000..1a7877abe31 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.after.kt @@ -0,0 +1,8 @@ +// "Create function 'foo'" "true" +// ERROR: Unresolved reference: foo + +class A(val b: B) { + fun test(): Int { + return b.foo(2, "2") + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.before.Main.kt b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.before.Main.kt new file mode 100644 index 00000000000..42c87e33083 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.before.Main.kt @@ -0,0 +1,8 @@ +// "Create function 'foo'" "true" +// ERROR: Unresolved reference: foo + +class A(val b: B) { + fun test(): Int { + return b.foo(2, "2") + } +} \ No newline at end of file diff --git a/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.before.data.Sample.java b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.before.data.Sample.java new file mode 100644 index 00000000000..e8e9e225d08 --- /dev/null +++ b/idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.before.data.Sample.java @@ -0,0 +1,3 @@ +class B{ + final T t; +} \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java index d7203abcd8e..ea4b904a258 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/idea/quickfix/QuickFixMultiFileTestGenerated.java @@ -275,30 +275,346 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes @TestMetadata("idea/testData/quickfix/createFromUsage/createClass") @TestDataPath("$PROJECT_ROOT") - @InnerTestClasses({CreateClass.CallExpression.class}) + @InnerTestClasses({CreateClass.AnnotationEntry.class, CreateClass.CallExpression.class, CreateClass.DelegationSpecifier.class, CreateClass.ImportDirective.class, CreateClass.ReferenceExpression.class, CreateClass.TypeReference.class}) @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); } + @TestMetadata("idea/testData/quickfix/createFromUsage/createClass/annotationEntry") + @TestDataPath("$PROJECT_ROOT") + @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); + } + + @TestMetadata("nestedGroovyAnnotation.before.Main.kt") + public void testNestedGroovyAnnotation() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedGroovyAnnotation.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("nestedJavaAnnotation.before.Main.kt") + public void testNestedJavaAnnotation() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotation.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("nestedJavaAnnotationWithNamedArgs.before.Main.kt") + public void testNestedJavaAnnotationWithNamedArgs() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/annotationEntry/nestedJavaAnnotationWithNamedArgs.before.Main.kt"); + doTestWithExtraFile(fileName); + } + } + @TestMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression") @TestDataPath("$PROJECT_ROOT") - @InnerTestClasses({}) + @InnerTestClasses({CallExpression.TypeArguments.class}) @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); } + @TestMetadata("callInAnnotationEntryWithJavaQualifier.before.Main.kt") + public void testCallInAnnotationEntryWithJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callInAnnotationEntryWithJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("callWithExplicitParamNamesAndJavaQualifier.before.Main.kt") + public void testCallWithExplicitParamNamesAndJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithExplicitParamNamesAndJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("callWithFinalJavaSupertype.before.Main.kt") + public void testCallWithFinalJavaSupertype() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithFinalJavaSupertype.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("callWithGenericJavaReceiver.before.Main.kt") + public void testCallWithGenericJavaReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGenericJavaReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("callWithGroovyClassQualifier.before.Main.kt") + public void testCallWithGroovyClassQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithGroovyClassQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("callWithJavaClassQualifier.before.Main.kt") + public void testCallWithJavaClassQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + @TestMetadata("callWithJavaClassReceiver.before.Main.kt") public void testCallWithJavaClassReceiver() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaClassReceiver.before.Main.kt"); doTestWithExtraFile(fileName); } + @TestMetadata("callWithJavaQualifierInMemberValDelegate.before.Main.kt") + public void testCallWithJavaQualifierInMemberValDelegate() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithJavaQualifierInMemberValDelegate.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("callWithSuperclassAndJavaReceiverNoConstructorParams.before.Main.kt") + public void testCallWithSuperclassAndJavaReceiverNoConstructorParams() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassAndJavaReceiverNoConstructorParams.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("callWithSuperclassConstructorParamsAndJavaReceiver.before.Main.kt") + public void testCallWithSuperclassConstructorParamsAndJavaReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSuperclassConstructorParamsAndJavaReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("callWithSupertraitAndJavaReceiver.before.Main.kt") + public void testCallWithSupertraitAndJavaReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/callWithSupertraitAndJavaReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments") + @TestDataPath("$PROJECT_ROOT") + @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); + } + + @TestMetadata("javaClassMember.before.Main.kt") + public void testJavaClassMember() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMember.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("javaClassMemberInner.before.Main.kt") + public void testJavaClassMemberInner() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInner.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("javaClassMemberInnerPartialSubstitution.before.Main.kt") + public void testJavaClassMemberInnerPartialSubstitution() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerPartialSubstitution.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("javaClassMemberInnerWithReceiverArg.before.Main.kt") + public void testJavaClassMemberInnerWithReceiverArg() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberInnerWithReceiverArg.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("javaClassMemberPartialSubstitution.before.Main.kt") + public void testJavaClassMemberPartialSubstitution() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/callExpression/typeArguments/javaClassMemberPartialSubstitution.before.Main.kt"); + doTestWithExtraFile(fileName); + } + } } + @TestMetadata("idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier") + @TestDataPath("$PROJECT_ROOT") + @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); + } + + @TestMetadata("delegatorToNestedJavaSupercall.before.Main.kt") + public void testDelegatorToNestedJavaSupercall() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercall.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("delegatorToNestedJavaSupercallWithParamNames.before.Main.kt") + public void testDelegatorToNestedJavaSupercallWithParamNames() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/delegatorToNestedJavaSupercallWithParamNames.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("traitDelegatorToNestedGroovySuperclass.before.Main.kt") + public void testTraitDelegatorToNestedGroovySuperclass() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedGroovySuperclass.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("traitDelegatorToNestedJavaSuperclass.before.Main.kt") + public void testTraitDelegatorToNestedJavaSuperclass() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/delegationSpecifier/traitDelegatorToNestedJavaSuperclass.before.Main.kt"); + doTestWithExtraFile(fileName); + } + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/createClass/importDirective") + @TestDataPath("$PROJECT_ROOT") + @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); + } + + @TestMetadata("annotationWithJavaQualifier.before.Main.kt") + public void testAnnotationWithJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/importDirective/annotationWithJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("classWithGroovyQualifier.before.Main.kt") + public void testClassWithGroovyQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithGroovyQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("classWithJavaQualifier.before.Main.kt") + public void testClassWithJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/importDirective/classWithJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumEntryInJavaEnum.before.Main.kt") + public void testEnumEntryInJavaEnum() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/importDirective/enumEntryInJavaEnum.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumWithJavaQualifier.before.Main.kt") + public void testEnumWithJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/importDirective/enumWithJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("objectWithJavaQualifier.before.Main.kt") + public void testObjectWithJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/importDirective/objectWithJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("traitWithJavaQualifier.before.Main.kt") + public void testTraitWithJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/importDirective/traitWithJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression") + @TestDataPath("$PROJECT_ROOT") + @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); + } + + @TestMetadata("classByNestedGroovyQualifier.before.Main.kt") + public void testClassByNestedGroovyQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedGroovyQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("classByNestedJavaQualifier.before.Main.kt") + public void testClassByNestedJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/classByNestedJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumByNestedJavaQualifier.before.Main.kt") + public void testEnumByNestedJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumByNestedJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumEntryWithJavaEnumQualifier.before.Main.kt") + public void testEnumEntryWithJavaEnumQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumEntryWithJavaEnumSuperclass.before.Main.kt") + public void testEnumEntryWithJavaEnumSuperclass() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaEnumSuperclass.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumEntryWithJavaNonEnumQualifier.before.Main.kt") + public void testEnumEntryWithJavaNonEnumQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumEntryWithJavaNonEnumSuperclass.before.Main.kt") + public void testEnumEntryWithJavaNonEnumSuperclass() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/enumEntryWithJavaNonEnumSuperclass.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("objectWithJavaQualifier.before.Main.kt") + public void testObjectWithJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/objectWithJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("traitByNestedJavaQualifier.before.Main.kt") + public void testTraitByNestedJavaQualifier() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/referenceExpression/traitByNestedJavaQualifier.before.Main.kt"); + doTestWithExtraFile(fileName); + } + } + + @TestMetadata("idea/testData/quickfix/createFromUsage/createClass/typeReference") + @TestDataPath("$PROJECT_ROOT") + @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); + } + + @TestMetadata("annotationJavaTypeReceiver.before.Main.kt") + public void testAnnotationJavaTypeReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/typeReference/annotationJavaTypeReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("classGroovyTypeReceiver.before.Main.kt") + public void testClassGroovyTypeReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/typeReference/classGroovyTypeReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("classJavaTypeReceiver.before.Main.kt") + public void testClassJavaTypeReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/typeReference/classJavaTypeReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumEntryJavaEnumReceiver.before.Main.kt") + public void testEnumEntryJavaEnumReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/typeReference/enumEntryJavaEnumReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("enumJavaTypeReceiver.before.Main.kt") + public void testEnumJavaTypeReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/typeReference/enumJavaTypeReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("traitJavaTypeReceiver.before.Main.kt") + public void testTraitJavaTypeReceiver() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createClass/typeReference/traitJavaTypeReceiver.before.Main.kt"); + doTestWithExtraFile(fileName); + } + } } @TestMetadata("idea/testData/quickfix/createFromUsage/createFunction") @@ -312,7 +628,7 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes @TestMetadata("idea/testData/quickfix/createFromUsage/createFunction/call") @TestDataPath("$PROJECT_ROOT") - @InnerTestClasses({}) + @InnerTestClasses({Call.TypeArguments.class}) @RunWith(JUnit3RunnerWithInners.class) public static class Call extends AbstractQuickFixMultiFileTest { public void testAllFilesPresentInCall() throws Exception { @@ -373,6 +689,32 @@ public class QuickFixMultiFileTestGenerated extends AbstractQuickFixMultiFileTes doTestWithExtraFile(fileName); } + @TestMetadata("idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments") + @TestDataPath("$PROJECT_ROOT") + @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); + } + + @TestMetadata("javaClassMember.before.Main.kt") + public void testJavaClassMember() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMember.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("javaClassMemberPartialSubstitution.before.Main.kt") + public void testJavaClassMemberPartialSubstitution() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberPartialSubstitution.before.Main.kt"); + doTestWithExtraFile(fileName); + } + + @TestMetadata("javaClassMemberWithReceiverArg.before.Main.kt") + public void testJavaClassMemberWithReceiverArg() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/createFromUsage/createFunction/call/typeArguments/javaClassMemberWithReceiverArg.before.Main.kt"); + doTestWithExtraFile(fileName); + } + } } }