Disallow named arguments for Java methods

Since they don't have stable names: they're (sometimes) loaded from the
bytecode, which (sometimes) doesn't contain parameter names
This commit is contained in:
Alexander Udalov
2014-03-19 17:57:18 +04:00
parent 5fa1774cc1
commit 1c5df773c5
10 changed files with 74 additions and 33 deletions
@@ -18,12 +18,10 @@ package org.jetbrains.jet.plugin.search.declarationsSearch
import com.intellij.psi.PsiClass
import com.intellij.util.Query
import com.intellij.psi.search.GlobalSearchScope
import com.intellij.psi.PsiModifier
import com.intellij.psi.PsiAnonymousClass
import org.jetbrains.jet.lang.psi.JetClassOrObject
import org.jetbrains.jet.asJava.LightClassUtil
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
import com.intellij.psi.PsiElement
import com.intellij.psi.search.searches.ClassInheritorsSearch
import com.intellij.util.EmptyQuery
@@ -37,11 +35,11 @@ public fun HierarchySearchRequest<PsiElement>.searchInheritors(): Query<PsiClass
if (psiClass == null) return EmptyQuery.getEmptyQuery()
return ClassInheritorsSearch.search(
aClass = psiClass,
scope = searchScope,
checkDeep = searchDeeply,
checkInheritance = true,
includeAnonymous = true
psiClass,
searchScope,
searchDeeply,
/* checkInheritance = */ true,
/* includeAnonymous = */ true
)
}
@@ -25,13 +25,8 @@ import com.intellij.util.Query
import com.intellij.psi.search.GlobalSearchScope
import java.util.HashMap
import org.jetbrains.jet.lang.psi.psiUtil.*
import org.jetbrains.jet.lang.psi.JetNamedFunction
import java.util.Collections
import org.jetbrains.jet.asJava.LightClassUtil
import org.jetbrains.jet.lang.psi.JetProperty
import org.jetbrains.jet.lang.psi.JetPropertyAccessor
import com.intellij.psi.PsiClass
import org.jetbrains.jet.lang.psi.JetParameter
import com.intellij.psi.util.TypeConversionUtil
import com.intellij.psi.PsiSubstitutor
import com.intellij.psi.util.MethodSignatureUtil
@@ -40,8 +35,6 @@ import com.intellij.psi.JavaPsiFacade
import com.intellij.psi.search.searches.DirectClassInheritorsSearch
import com.intellij.util.EmptyQuery
import com.intellij.util.MergeQuery
import com.intellij.util.UniqueResultsQuery
import com.intellij.util.containers.ContainerUtil
import org.jetbrains.jet.asJava.toLightMethods
fun PsiElement.isOverridableElement(): Boolean = when (this) {
@@ -76,10 +69,10 @@ public object KotlinPsiMethodOverridersSearch : HierarchySearch<PsiMethod>(PsiMe
val classTraverser = object : HierarchyTraverser<PsiClass> {
override fun nextElements(current: PsiClass): Iterable<PsiClass> =
DirectClassInheritorsSearch.search(
aClass = current,
scope = GlobalSearchScope.allScope(current.getProject()),
checkInheritance = true,
includeAnonymous = true
current,
GlobalSearchScope.allScope(current.getProject()),
/* checkInheritance = */ true,
/* includeAnonymous = */ true
)
override fun shouldDescend(element: PsiClass): Boolean =
@@ -51,7 +51,6 @@ import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectori
import com.intellij.refactoring.move.MoveHandler
import org.jetbrains.jet.getString
import org.jetbrains.jet.getNullableString
import org.jetbrains.jet.lang.psi.JetClassOrObject
import org.jetbrains.jet.plugin.refactoring.move.moveTopLevelDeclarations.MoveKotlinTopLevelDeclarationsProcessor
import org.jetbrains.jet.plugin.refactoring.move.moveTopLevelDeclarations.MoveKotlinTopLevelDeclarationsOptions
import org.jetbrains.jet.lang.psi.JetNamedDeclaration
@@ -240,11 +239,11 @@ enum class MoveAction {
val targetFile = config.getString("targetFile")
MoveHandler.doMove(
project = project,
elements = array(mainFile),
targetContainer = PsiManager.getInstance(project).findFile(rootDir.findFileByRelativePath(targetFile)!!)!!,
dataContext = null,
callback = null
project,
array(mainFile),
PsiManager.getInstance(project).findFile(rootDir.findFileByRelativePath(targetFile)!!)!!,
/* dataContext = */ null,
/* callback = */ null
)
}
}