From 657b4a164cec90fe7607e8e1e68697ca8aff033b Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Fri, 18 Oct 2013 19:33:01 +0400 Subject: [PATCH] Translate find usage options to Kotlin --- .../KotlinFindUsagesHandlerFactory.kt | 2 -- .../dialogs/KotlinFindClassUsagesDialog.java | 6 ++-- .../dialogs/KotlinFindMethodUsagesDialog.java | 2 +- .../plugin/findUsages/findUsagesOptions.kt | 35 +++++++++++++++++++ .../KotlinFindClassUsagesHandler.java | 8 ++--- .../KotlinFindFunctionUsagesHandler.java | 2 +- .../options/KotlinClassFindUsagesOptions.java | 27 -------------- .../KotlinMethodFindUsagesOptions.java | 11 ------ .../findUsages/AbstractJetFindUsagesTest.java | 8 ++--- 9 files changed, 48 insertions(+), 53 deletions(-) create mode 100644 idea/src/org/jetbrains/jet/plugin/findUsages/findUsagesOptions.kt delete mode 100644 idea/src/org/jetbrains/jet/plugin/findUsages/options/KotlinClassFindUsagesOptions.java delete mode 100644 idea/src/org/jetbrains/jet/plugin/findUsages/options/KotlinMethodFindUsagesOptions.java diff --git a/idea/src/org/jetbrains/jet/plugin/findUsages/KotlinFindUsagesHandlerFactory.kt b/idea/src/org/jetbrains/jet/plugin/findUsages/KotlinFindUsagesHandlerFactory.kt index a64d45e53f7..86b3cc790e3 100644 --- a/idea/src/org/jetbrains/jet/plugin/findUsages/KotlinFindUsagesHandlerFactory.kt +++ b/idea/src/org/jetbrains/jet/plugin/findUsages/KotlinFindUsagesHandlerFactory.kt @@ -22,8 +22,6 @@ import com.intellij.openapi.project.Project import com.intellij.psi.PsiElement import org.jetbrains.jet.lang.psi.JetClass import org.jetbrains.jet.lang.psi.JetDeclaration -import org.jetbrains.jet.plugin.findUsages.options.KotlinClassFindUsagesOptions -import org.jetbrains.jet.plugin.findUsages.options.KotlinMethodFindUsagesOptions import org.jetbrains.jet.lang.psi.JetNamedFunction import org.jetbrains.jet.plugin.findUsages.handlers.KotlinFindClassUsagesHandler import org.jetbrains.jet.plugin.findUsages.handlers.KotlinFindFunctionUsagesHandler diff --git a/idea/src/org/jetbrains/jet/plugin/findUsages/dialogs/KotlinFindClassUsagesDialog.java b/idea/src/org/jetbrains/jet/plugin/findUsages/dialogs/KotlinFindClassUsagesDialog.java index c7d2e885f09..e11346a2a64 100644 --- a/idea/src/org/jetbrains/jet/plugin/findUsages/dialogs/KotlinFindClassUsagesDialog.java +++ b/idea/src/org/jetbrains/jet/plugin/findUsages/dialogs/KotlinFindClassUsagesDialog.java @@ -12,7 +12,7 @@ import com.intellij.ui.StateRestoringCheckBox; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.asJava.KotlinLightClassForExplicitDeclaration; import org.jetbrains.jet.plugin.JetBundle; -import org.jetbrains.jet.plugin.findUsages.options.KotlinClassFindUsagesOptions; +import org.jetbrains.jet.plugin.findUsages.*; import org.jetbrains.jet.plugin.refactoring.JetRefactoringUtil; import javax.swing.*; @@ -67,7 +67,7 @@ public class KotlinFindClassUsagesDialog extends FindClassUsagesDialog { ); constructorUsages = addCheckboxToPanel( JetBundle.message("find.what.constructor.usages.checkbox"), - getFindUsagesOptions().searchConstructorUsages, + getFindUsagesOptions().getSearchConstructorUsages(), findWhatPanel, true ); @@ -101,7 +101,7 @@ public class KotlinFindClassUsagesDialog extends FindClassUsagesDialog { super.calcFindUsagesOptions(options); KotlinClassFindUsagesOptions kotlinOptions = (KotlinClassFindUsagesOptions) options; - kotlinOptions.searchConstructorUsages = constructorUsages.isSelected(); + kotlinOptions.setSearchConstructorUsages(constructorUsages.isSelected()); kotlinOptions.isDerivedClasses = derivedClasses.isSelected(); kotlinOptions.isDerivedInterfaces = derivedTraits.isSelected(); } diff --git a/idea/src/org/jetbrains/jet/plugin/findUsages/dialogs/KotlinFindMethodUsagesDialog.java b/idea/src/org/jetbrains/jet/plugin/findUsages/dialogs/KotlinFindMethodUsagesDialog.java index 745b58d8c3b..f21b658990e 100644 --- a/idea/src/org/jetbrains/jet/plugin/findUsages/dialogs/KotlinFindMethodUsagesDialog.java +++ b/idea/src/org/jetbrains/jet/plugin/findUsages/dialogs/KotlinFindMethodUsagesDialog.java @@ -9,7 +9,7 @@ import com.intellij.psi.PsiMethod; import com.intellij.ui.SimpleColoredComponent; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JetBundle; -import org.jetbrains.jet.plugin.findUsages.options.KotlinMethodFindUsagesOptions; +import org.jetbrains.jet.plugin.findUsages.KotlinMethodFindUsagesOptions; import org.jetbrains.jet.plugin.refactoring.JetRefactoringUtil; import javax.swing.*; diff --git a/idea/src/org/jetbrains/jet/plugin/findUsages/findUsagesOptions.kt b/idea/src/org/jetbrains/jet/plugin/findUsages/findUsagesOptions.kt new file mode 100644 index 00000000000..82f45dfcb05 --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/findUsages/findUsagesOptions.kt @@ -0,0 +1,35 @@ +/* + * Copyright 2010-2013 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.jet.plugin.findUsages + +import com.intellij.find.findUsages.JavaMethodFindUsagesOptions +import com.intellij.openapi.project.Project +import com.intellij.find.findUsages.JavaClassFindUsagesOptions + +public class KotlinMethodFindUsagesOptions(project: Project) : JavaMethodFindUsagesOptions(project) + +public class KotlinClassFindUsagesOptions(project : Project) : JavaClassFindUsagesOptions(project) { + public var searchConstructorUsages : Boolean = true + + public override fun equals(o : Any?) : Boolean { + return super.equals(o) && o is KotlinClassFindUsagesOptions && o.searchConstructorUsages == searchConstructorUsages + } + + public override fun hashCode() : Int { + return 31 * super.hashCode() + if (searchConstructorUsages) 1 else 0 + } +} diff --git a/idea/src/org/jetbrains/jet/plugin/findUsages/handlers/KotlinFindClassUsagesHandler.java b/idea/src/org/jetbrains/jet/plugin/findUsages/handlers/KotlinFindClassUsagesHandler.java index 6a9bddd1d4f..1a22ffef744 100644 --- a/idea/src/org/jetbrains/jet/plugin/findUsages/handlers/KotlinFindClassUsagesHandler.java +++ b/idea/src/org/jetbrains/jet/plugin/findUsages/handlers/KotlinFindClassUsagesHandler.java @@ -43,7 +43,7 @@ import org.jetbrains.jet.lang.psi.JetProperty; import org.jetbrains.jet.plugin.findUsages.FindUsagesPackage; import org.jetbrains.jet.plugin.findUsages.KotlinFindUsagesHandlerFactory; import org.jetbrains.jet.plugin.findUsages.dialogs.KotlinFindClassUsagesDialog; -import org.jetbrains.jet.plugin.findUsages.options.KotlinClassFindUsagesOptions; +import org.jetbrains.jet.plugin.findUsages.KotlinClassFindUsagesOptions; import java.util.Collection; @@ -75,13 +75,13 @@ public class KotlinFindClassUsagesHandler extends KotlinFindUsagesHandler references = ReferencesSearch.search( new ReferencesSearch.SearchParameters(jetClass, kotlinOptions.searchScope, false) ).findAll(); for (PsiReference ref : references) { boolean constructorUsage = FindUsagesPackage.isConstructorUsage(ref.getElement(), jetClass); - if ((constructorUsage && !kotlinOptions.searchConstructorUsages) + if ((constructorUsage && !kotlinOptions.getSearchConstructorUsages()) || (!constructorUsage && !kotlinOptions.isUsages)) continue; processUsage(processor, ref, kotlinOptions); @@ -91,8 +91,8 @@ public class KotlinFindClassUsagesHandler extends KotlinFindUsagesHandler