Rename: Do not suggest type-based names for functions with primitive return types
#KT-14234 Fixed
This commit is contained in:
committed by
Ilya Gorbunov
parent
394859afc5
commit
cf69f1a946
@@ -285,6 +285,7 @@ These artifacts include extensions for the types available in the latter JDKs, s
|
||||
- Extract Function: Support implicit abnormal exits via Nothing-typed expressions
|
||||
- [`KT-14285`](https://youtrack.jetbrains.com/issue/KT-14285) Rename: Forbid on backing field reference
|
||||
- [`KT-14240`](https://youtrack.jetbrains.com/issue/KT-14240) Introduce Variable: Do not replace assignment left-hand sides
|
||||
- [`KT-14234`](https://youtrack.jetbrains.com/issue/KT-14234) Rename: Do not suggest type-based names for functions with primitive return types
|
||||
|
||||
##### New features
|
||||
|
||||
|
||||
@@ -23,11 +23,14 @@ import com.intellij.psi.codeStyle.SuggestedNameInfo
|
||||
import com.intellij.psi.statistics.JavaStatisticsManager
|
||||
import com.intellij.refactoring.rename.NameSuggestionProvider
|
||||
import org.jetbrains.kotlin.asJava.toLightElements
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||
import org.jetbrains.kotlin.idea.caches.resolve.resolveToDescriptor
|
||||
import org.jetbrains.kotlin.psi.KtCallableDeclaration
|
||||
import org.jetbrains.kotlin.psi.KtParameter
|
||||
import org.jetbrains.kotlin.psi.KtProperty
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
||||
import org.jetbrains.kotlin.types.typeUtil.isUnit
|
||||
import org.jetbrains.kotlin.utils.SmartList
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
|
||||
|
||||
@@ -48,8 +51,9 @@ class KotlinNameSuggestionProvider : NameSuggestionProvider {
|
||||
this += KotlinNameSuggester.getCamelNames(name!!, validator, name.first().isLowerCase())
|
||||
}
|
||||
|
||||
val type = (element.resolveToDescriptor() as CallableDescriptor).returnType
|
||||
if (type != null) {
|
||||
val callableDescriptor = element.resolveToDescriptor() as CallableDescriptor
|
||||
val type = callableDescriptor.returnType
|
||||
if (type != null && !type.isUnit() && !KotlinBuiltIns.isPrimitiveType(type)) {
|
||||
this += KotlinNameSuggester.suggestNamesByType(type, validator)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user