Renames
This commit is contained in:
+2
-2
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||||
import org.jetbrains.kotlin.idea.completion.*
|
import org.jetbrains.kotlin.idea.completion.*
|
||||||
import org.jetbrains.kotlin.idea.completion.handlers.KotlinFunctionInsertHandler
|
import org.jetbrains.kotlin.idea.completion.handlers.KotlinFunctionInsertHandler
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMethodsHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
|
||||||
import org.jetbrains.kotlin.idea.core.psiClassToDescriptor
|
import org.jetbrains.kotlin.idea.core.psiClassToDescriptor
|
||||||
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
|
import org.jetbrains.kotlin.idea.resolve.ResolutionFacade
|
||||||
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
import org.jetbrains.kotlin.idea.util.IdeDescriptorRenderers
|
||||||
@@ -170,7 +170,7 @@ class TypeInstantiationItems(
|
|||||||
|
|
||||||
shortenReferences(context, startOffset, startOffset + text.length())
|
shortenReferences(context, startOffset, startOffset + text.length())
|
||||||
|
|
||||||
ImplementMethodsHandler().invoke(context.getProject(), editor, context.getFile(), true)
|
ImplementMembersHandler().invoke(context.getProject(), editor, context.getFile(), true)
|
||||||
}
|
}
|
||||||
lookupElement = lookupElement.suppressAutoInsertion()
|
lookupElement = lookupElement.suppressAutoInsertion()
|
||||||
lookupElement = lookupElement.assignSmartCompletionPriority(SmartCompletionItemPriority.ANONYMOUS_OBJECT)
|
lookupElement = lookupElement.assignSmartCompletionPriority(SmartCompletionItemPriority.ANONYMOUS_OBJECT)
|
||||||
|
|||||||
+3
-3
@@ -24,15 +24,15 @@ import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
|||||||
import org.jetbrains.kotlin.idea.JetBundle
|
import org.jetbrains.kotlin.idea.JetBundle
|
||||||
import org.jetbrains.kotlin.resolve.OverrideResolver
|
import org.jetbrains.kotlin.resolve.OverrideResolver
|
||||||
|
|
||||||
public class ImplementMethodsHandler : OverrideImplementMethodsHandler(), IntentionAction {
|
public class ImplementMembersHandler : OverrideImplementMembersHandler(), IntentionAction {
|
||||||
override fun collectMethodsToGenerate(descriptor: ClassDescriptor, project: Project): Collection<OverrideMemberChooserObject> {
|
override fun collectMembersToGenerate(descriptor: ClassDescriptor, project: Project): Collection<OverrideMemberChooserObject> {
|
||||||
return OverrideResolver.getMissingImplementations(descriptor)
|
return OverrideResolver.getMissingImplementations(descriptor)
|
||||||
.map { OverrideMemberChooserObject.create(project, it, it) }
|
.map { OverrideMemberChooserObject.create(project, it, it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getChooserTitle() = "Implement Members"
|
override fun getChooserTitle() = "Implement Members"
|
||||||
|
|
||||||
override fun getNoMethodsFoundHint() = "No methods to implement have been found"
|
override fun getNoMembersFoundHint() = "No members to implement have been found"
|
||||||
|
|
||||||
override fun getText() = JetBundle.message("implement.members")
|
override fun getText() = JetBundle.message("implement.members")
|
||||||
override fun getFamilyName() = JetBundle.message("implement.members")
|
override fun getFamilyName() = JetBundle.message("implement.members")
|
||||||
+7
-7
@@ -37,14 +37,14 @@ import org.jetbrains.kotlin.psi.psiUtil.getNonStrictParentOfType
|
|||||||
import org.jetbrains.kotlin.renderer.*
|
import org.jetbrains.kotlin.renderer.*
|
||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
|
|
||||||
public abstract class OverrideImplementMethodsHandler : LanguageCodeInsightActionHandler {
|
public abstract class OverrideImplementMembersHandler : LanguageCodeInsightActionHandler {
|
||||||
|
|
||||||
public fun collectMethodsToGenerate(classOrObject: JetClassOrObject): Collection<OverrideMemberChooserObject> {
|
public fun collectMembersToGenerate(classOrObject: JetClassOrObject): Collection<OverrideMemberChooserObject> {
|
||||||
val descriptor = classOrObject.resolveToDescriptor() as? ClassDescriptor ?: return emptySet()
|
val descriptor = classOrObject.resolveToDescriptor() as? ClassDescriptor ?: return emptySet()
|
||||||
return collectMethodsToGenerate(descriptor, classOrObject.project)
|
return collectMembersToGenerate(descriptor, classOrObject.project)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun collectMethodsToGenerate(descriptor: ClassDescriptor, project: Project): Collection<OverrideMemberChooserObject>
|
protected abstract fun collectMembersToGenerate(descriptor: ClassDescriptor, project: Project): Collection<OverrideMemberChooserObject>
|
||||||
|
|
||||||
private fun showOverrideImplementChooser(project: Project, members: Array<OverrideMemberChooserObject>): MemberChooser<OverrideMemberChooserObject>? {
|
private fun showOverrideImplementChooser(project: Project, members: Array<OverrideMemberChooserObject>): MemberChooser<OverrideMemberChooserObject>? {
|
||||||
val chooser = MemberChooser(members, true, true, project)
|
val chooser = MemberChooser(members, true, true, project)
|
||||||
@@ -63,15 +63,15 @@ public abstract class OverrideImplementMethodsHandler : LanguageCodeInsightActio
|
|||||||
return classOrObject != null
|
return classOrObject != null
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun getNoMethodsFoundHint(): String
|
protected abstract fun getNoMembersFoundHint(): String
|
||||||
|
|
||||||
public fun invoke(project: Project, editor: Editor, file: PsiFile, implementAll: Boolean) {
|
public fun invoke(project: Project, editor: Editor, file: PsiFile, implementAll: Boolean) {
|
||||||
val elementAtCaret = file.findElementAt(editor.caretModel.offset)
|
val elementAtCaret = file.findElementAt(editor.caretModel.offset)
|
||||||
val classOrObject = elementAtCaret?.getNonStrictParentOfType<JetClassOrObject>()!!
|
val classOrObject = elementAtCaret?.getNonStrictParentOfType<JetClassOrObject>()!!
|
||||||
|
|
||||||
val members = collectMethodsToGenerate(classOrObject)
|
val members = collectMembersToGenerate(classOrObject)
|
||||||
if (members.isEmpty() && !implementAll) {
|
if (members.isEmpty() && !implementAll) {
|
||||||
HintManager.getInstance().showErrorHint(editor, getNoMethodsFoundHint())
|
HintManager.getInstance().showErrorHint(editor, getNoMembersFoundHint())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
+3
-3
@@ -21,8 +21,8 @@ import org.jetbrains.kotlin.descriptors.*
|
|||||||
import java.util.ArrayList
|
import java.util.ArrayList
|
||||||
import java.util.LinkedHashMap
|
import java.util.LinkedHashMap
|
||||||
|
|
||||||
public class OverrideMethodsHandler : OverrideImplementMethodsHandler() {
|
public class OverrideMembersHandler : OverrideImplementMembersHandler() {
|
||||||
override fun collectMethodsToGenerate(descriptor: ClassDescriptor, project: Project): Collection<OverrideMemberChooserObject> {
|
override fun collectMembersToGenerate(descriptor: ClassDescriptor, project: Project): Collection<OverrideMemberChooserObject> {
|
||||||
val result = ArrayList<OverrideMemberChooserObject>()
|
val result = ArrayList<OverrideMemberChooserObject>()
|
||||||
for (member in descriptor.unsubstitutedMemberScope.getAllDescriptors()) {
|
for (member in descriptor.unsubstitutedMemberScope.getAllDescriptors()) {
|
||||||
if (member is CallableMemberDescriptor
|
if (member is CallableMemberDescriptor
|
||||||
@@ -74,5 +74,5 @@ public class OverrideMethodsHandler : OverrideImplementMethodsHandler() {
|
|||||||
|
|
||||||
override fun getChooserTitle() = "Override Members"
|
override fun getChooserTitle() = "Override Members"
|
||||||
|
|
||||||
override fun getNoMethodsFoundHint() = "No methods to override have been found"
|
override fun getNoMembersFoundHint() = "No members to override have been found"
|
||||||
}
|
}
|
||||||
@@ -447,8 +447,8 @@
|
|||||||
<debugger.syntheticProvider implementation="org.jetbrains.kotlin.idea.debugger.filter.KotlinSyntheticTypeComponentProvider"/>
|
<debugger.syntheticProvider implementation="org.jetbrains.kotlin.idea.debugger.filter.KotlinSyntheticTypeComponentProvider"/>
|
||||||
<debugger.javaBreakpointHandlerFactory implementation="org.jetbrains.kotlin.idea.debugger.breakpoints.KotlinBreakpointHandlerFactory"/>
|
<debugger.javaBreakpointHandlerFactory implementation="org.jetbrains.kotlin.idea.debugger.breakpoints.KotlinBreakpointHandlerFactory"/>
|
||||||
|
|
||||||
<codeInsight.implementMethod language="jet" implementationClass="org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMethodsHandler"/>
|
<codeInsight.implementMethod language="jet" implementationClass="org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler"/>
|
||||||
<codeInsight.overrideMethod language="jet" implementationClass="org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMethodsHandler"/>
|
<codeInsight.overrideMethod language="jet" implementationClass="org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMembersHandler"/>
|
||||||
|
|
||||||
<framework.type implementation="org.jetbrains.kotlin.idea.framework.JavaFrameworkType"/>
|
<framework.type implementation="org.jetbrains.kotlin.idea.framework.JavaFrameworkType"/>
|
||||||
<framework.type implementation="org.jetbrains.kotlin.idea.framework.JSFrameworkType"/>
|
<framework.type implementation="org.jetbrains.kotlin.idea.framework.JSFrameworkType"/>
|
||||||
|
|||||||
+2
-2
@@ -31,7 +31,7 @@ import org.jetbrains.kotlin.descriptors.ClassKind;
|
|||||||
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor;
|
import org.jetbrains.kotlin.descriptors.ConstructorDescriptor;
|
||||||
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor;
|
||||||
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
|
import org.jetbrains.kotlin.idea.caches.resolve.ResolvePackage;
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMethodsHandler;
|
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler;
|
||||||
import org.jetbrains.kotlin.psi.JetReferenceExpression;
|
import org.jetbrains.kotlin.psi.JetReferenceExpression;
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext;
|
import org.jetbrains.kotlin.resolve.BindingContext;
|
||||||
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode;
|
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode;
|
||||||
@@ -89,7 +89,7 @@ class AnonymousTemplateEditingListener extends TemplateEditingAdapter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
new ImplementMethodsHandler().invoke(psiFile.getProject(), editor, psiFile, true);
|
new ImplementMembersHandler().invoke(psiFile.getProject(), editor, psiFile, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.idea.quickfix
|
|||||||
import com.intellij.codeInsight.intention.IntentionAction
|
import com.intellij.codeInsight.intention.IntentionAction
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors.*
|
import org.jetbrains.kotlin.diagnostics.Errors.*
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMethodsHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
|
||||||
import org.jetbrains.kotlin.idea.inspections.AddReflectionQuickFix
|
import org.jetbrains.kotlin.idea.inspections.AddReflectionQuickFix
|
||||||
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createCallable.*
|
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createCallable.*
|
||||||
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createClass.CreateClassFromCallWithConstructorCalleeActionFactory
|
import org.jetbrains.kotlin.idea.quickfix.createFromUsage.createClass.CreateClassFromCallWithConstructorCalleeActionFactory
|
||||||
@@ -144,7 +144,7 @@ public class QuickFixRegistrar : QuickFixContributor {
|
|||||||
USELESS_NULLABLE_CHECK.registerFactory(RemoveNullableFix.createFactory(RemoveNullableFix.NullableKind.USELESS))
|
USELESS_NULLABLE_CHECK.registerFactory(RemoveNullableFix.createFactory(RemoveNullableFix.NullableKind.USELESS))
|
||||||
|
|
||||||
|
|
||||||
val implementMethodsHandler = ImplementMethodsHandler()
|
val implementMethodsHandler = ImplementMembersHandler()
|
||||||
ABSTRACT_MEMBER_NOT_IMPLEMENTED.registerActions(implementMethodsHandler)
|
ABSTRACT_MEMBER_NOT_IMPLEMENTED.registerActions(implementMethodsHandler)
|
||||||
MANY_IMPL_MEMBER_NOT_IMPLEMENTED.registerActions(implementMethodsHandler)
|
MANY_IMPL_MEMBER_NOT_IMPLEMENTED.registerActions(implementMethodsHandler)
|
||||||
|
|
||||||
|
|||||||
@@ -28,10 +28,10 @@ import com.intellij.psi.util.PsiTreeUtil
|
|||||||
import com.intellij.testFramework.LightProjectDescriptor
|
import com.intellij.testFramework.LightProjectDescriptor
|
||||||
import com.intellij.util.SmartList
|
import com.intellij.util.SmartList
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMethodsHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.ImplementMembersHandler
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideImplementMethodsHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideImplementMembersHandler
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMemberChooserObject
|
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMemberChooserObject
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMethodsHandler
|
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMembersHandler
|
||||||
import org.jetbrains.kotlin.idea.test.JetLightCodeInsightFixtureTestCase
|
import org.jetbrains.kotlin.idea.test.JetLightCodeInsightFixtureTestCase
|
||||||
import org.jetbrains.kotlin.idea.test.JetLightProjectDescriptor
|
import org.jetbrains.kotlin.idea.test.JetLightProjectDescriptor
|
||||||
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
import org.jetbrains.kotlin.idea.util.application.executeWriteCommand
|
||||||
@@ -47,31 +47,31 @@ public abstract class AbstractOverrideImplementTest : JetLightCodeInsightFixture
|
|||||||
override fun getProjectDescriptor(): LightProjectDescriptor = JetLightProjectDescriptor.INSTANCE
|
override fun getProjectDescriptor(): LightProjectDescriptor = JetLightProjectDescriptor.INSTANCE
|
||||||
|
|
||||||
protected fun doImplementFileTest() {
|
protected fun doImplementFileTest() {
|
||||||
doFileTest(ImplementMethodsHandler())
|
doFileTest(ImplementMembersHandler())
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun doOverrideFileTest() {
|
protected fun doOverrideFileTest() {
|
||||||
doFileTest(OverrideMethodsHandler())
|
doFileTest(OverrideMembersHandler())
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun doMultiImplementFileTest() {
|
protected fun doMultiImplementFileTest() {
|
||||||
doMultiFileTest(ImplementMethodsHandler())
|
doMultiFileTest(ImplementMembersHandler())
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun doMultiOverrideFileTest() {
|
protected fun doMultiOverrideFileTest() {
|
||||||
doMultiFileTest(OverrideMethodsHandler())
|
doMultiFileTest(OverrideMembersHandler())
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun doImplementDirectoryTest() {
|
protected fun doImplementDirectoryTest() {
|
||||||
doDirectoryTest(ImplementMethodsHandler())
|
doDirectoryTest(ImplementMembersHandler())
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun doOverrideDirectoryTest(memberToImplement: String?) {
|
protected fun doOverrideDirectoryTest(memberToImplement: String?) {
|
||||||
doDirectoryTest(OverrideMethodsHandler(), memberToImplement)
|
doDirectoryTest(OverrideMembersHandler(), memberToImplement)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun doMultiOverrideDirectoryTest() {
|
protected fun doMultiOverrideDirectoryTest() {
|
||||||
doMultiDirectoryTest(OverrideMethodsHandler())
|
doMultiDirectoryTest(OverrideMembersHandler())
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun doImplementJavaDirectoryTest(className: String, methodName: String) {
|
protected fun doImplementJavaDirectoryTest(className: String, methodName: String) {
|
||||||
@@ -91,42 +91,42 @@ public abstract class AbstractOverrideImplementTest : JetLightCodeInsightFixture
|
|||||||
myFixture.checkResultByFile(getTestName(true) + "/foo/JavaClass.java.after")
|
myFixture.checkResultByFile(getTestName(true) + "/foo/JavaClass.java.after")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doFileTest(handler: OverrideImplementMethodsHandler) {
|
private fun doFileTest(handler: OverrideImplementMembersHandler) {
|
||||||
myFixture.configureByFile(getTestName(true) + ".kt")
|
myFixture.configureByFile(getTestName(true) + ".kt")
|
||||||
doOverrideImplement(handler, null)
|
doOverrideImplement(handler, null)
|
||||||
checkResultByFile(getTestName(true) + ".kt.after")
|
checkResultByFile(getTestName(true) + ".kt.after")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doMultiFileTest(handler: OverrideImplementMethodsHandler) {
|
private fun doMultiFileTest(handler: OverrideImplementMembersHandler) {
|
||||||
myFixture.configureByFile(getTestName(true) + ".kt")
|
myFixture.configureByFile(getTestName(true) + ".kt")
|
||||||
doMultiOverrideImplement(handler)
|
doMultiOverrideImplement(handler)
|
||||||
checkResultByFile(getTestName(true) + ".kt.after")
|
checkResultByFile(getTestName(true) + ".kt.after")
|
||||||
}
|
}
|
||||||
|
|
||||||
protected fun doDirectoryTest(handler: OverrideImplementMethodsHandler) {
|
protected fun doDirectoryTest(handler: OverrideImplementMembersHandler) {
|
||||||
doDirectoryTest(handler, null)
|
doDirectoryTest(handler, null)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doDirectoryTest(handler: OverrideImplementMethodsHandler, memberToOverride: String?) {
|
private fun doDirectoryTest(handler: OverrideImplementMembersHandler, memberToOverride: String?) {
|
||||||
myFixture.copyDirectoryToProject(getTestName(true), "")
|
myFixture.copyDirectoryToProject(getTestName(true), "")
|
||||||
myFixture.configureFromTempProjectFile("foo/Impl.kt")
|
myFixture.configureFromTempProjectFile("foo/Impl.kt")
|
||||||
doOverrideImplement(handler, memberToOverride)
|
doOverrideImplement(handler, memberToOverride)
|
||||||
checkResultByFile(getTestName(true) + "/foo/Impl.kt.after")
|
checkResultByFile(getTestName(true) + "/foo/Impl.kt.after")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doMultiDirectoryTest(handler: OverrideImplementMethodsHandler) {
|
private fun doMultiDirectoryTest(handler: OverrideImplementMembersHandler) {
|
||||||
myFixture.copyDirectoryToProject(getTestName(true), "")
|
myFixture.copyDirectoryToProject(getTestName(true), "")
|
||||||
myFixture.configureFromTempProjectFile("foo/Impl.kt")
|
myFixture.configureFromTempProjectFile("foo/Impl.kt")
|
||||||
doMultiOverrideImplement(handler)
|
doMultiOverrideImplement(handler)
|
||||||
checkResultByFile(getTestName(true) + "/foo/Impl.kt.after")
|
checkResultByFile(getTestName(true) + "/foo/Impl.kt.after")
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doOverrideImplement(handler: OverrideImplementMethodsHandler, memberToOverride: String?) {
|
private fun doOverrideImplement(handler: OverrideImplementMembersHandler, memberToOverride: String?) {
|
||||||
val elementAtCaret = myFixture.file.findElementAt(myFixture.editor.caretModel.offset)
|
val elementAtCaret = myFixture.file.findElementAt(myFixture.editor.caretModel.offset)
|
||||||
val classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, javaClass<JetClassOrObject>())
|
val classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, javaClass<JetClassOrObject>())
|
||||||
?: error("Caret should be inside class or object")
|
?: error("Caret should be inside class or object")
|
||||||
|
|
||||||
val chooserObjects = handler.collectMethodsToGenerate(classOrObject)
|
val chooserObjects = handler.collectMembersToGenerate(classOrObject)
|
||||||
|
|
||||||
val singleToOverride = if (memberToOverride == null) {
|
val singleToOverride = if (memberToOverride == null) {
|
||||||
val filtered = chooserObjects.filter { it.descriptor.containingDeclaration != KotlinBuiltIns.getInstance().any }
|
val filtered = chooserObjects.filter { it.descriptor.containingDeclaration != KotlinBuiltIns.getInstance().any }
|
||||||
@@ -152,12 +152,12 @@ public abstract class AbstractOverrideImplementTest : JetLightCodeInsightFixture
|
|||||||
performGenerateCommand(classOrObject, listOf(singleToOverride))
|
performGenerateCommand(classOrObject, listOf(singleToOverride))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun doMultiOverrideImplement(handler: OverrideImplementMethodsHandler) {
|
private fun doMultiOverrideImplement(handler: OverrideImplementMembersHandler) {
|
||||||
val elementAtCaret = myFixture.file.findElementAt(myFixture.editor.caretModel.offset)
|
val elementAtCaret = myFixture.file.findElementAt(myFixture.editor.caretModel.offset)
|
||||||
val classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, javaClass<JetClassOrObject>())
|
val classOrObject = PsiTreeUtil.getParentOfType(elementAtCaret, javaClass<JetClassOrObject>())
|
||||||
?: error("Caret should be inside class or object")
|
?: error("Caret should be inside class or object")
|
||||||
|
|
||||||
val chooserObjects = handler.collectMethodsToGenerate(classOrObject).sortBy { it.descriptor.name.asString() + " in " + it.immediateSuper.containingDeclaration.name.asString() }
|
val chooserObjects = handler.collectMembersToGenerate(classOrObject).sortBy { it.descriptor.name.asString() + " in " + it.immediateSuper.containingDeclaration.name.asString() }
|
||||||
performGenerateCommand(classOrObject, chooserObjects)
|
performGenerateCommand(classOrObject, chooserObjects)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,7 +178,7 @@ public abstract class AbstractOverrideImplementTest : JetLightCodeInsightFixture
|
|||||||
selectedElements: List<OverrideMemberChooserObject>) {
|
selectedElements: List<OverrideMemberChooserObject>) {
|
||||||
try {
|
try {
|
||||||
myFixture.project.executeWriteCommand("") {
|
myFixture.project.executeWriteCommand("") {
|
||||||
OverrideImplementMethodsHandler.generateMethods(myFixture.editor, classOrObject, selectedElements)
|
OverrideImplementMembersHandler.generateMethods(myFixture.editor, classOrObject, selectedElements)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (throwable: Throwable) {
|
catch (throwable: Throwable) {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.codeInsight;
|
package org.jetbrains.kotlin.idea.codeInsight;
|
||||||
|
|
||||||
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMethodsHandler;
|
import org.jetbrains.kotlin.idea.core.overrideImplement.OverrideMembersHandler;
|
||||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase;
|
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase;
|
||||||
|
|
||||||
public final class OverrideImplementTest extends AbstractOverrideImplementTest {
|
public final class OverrideImplementTest extends AbstractOverrideImplementTest {
|
||||||
@@ -180,11 +180,11 @@ public final class OverrideImplementTest extends AbstractOverrideImplementTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void testSameTypeName() {
|
public void testSameTypeName() {
|
||||||
doDirectoryTest(new OverrideMethodsHandler());
|
doDirectoryTest(new OverrideMembersHandler());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testPropagationKJK() {
|
public void testPropagationKJK() {
|
||||||
doDirectoryTest(new OverrideMethodsHandler());
|
doDirectoryTest(new OverrideMembersHandler());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testMultipleSupers() {
|
public void testMultipleSupers() {
|
||||||
|
|||||||
Reference in New Issue
Block a user