New J2K: Fix that RemoveExplicitPropertyType does not work on local variables
This commit is contained in:
committed by
Ilya Kirillov
parent
a5b7831773
commit
a80a30e0af
@@ -26,6 +26,7 @@ import com.intellij.psi.PsiElement
|
|||||||
import com.intellij.psi.search.LocalSearchScope
|
import com.intellij.psi.search.LocalSearchScope
|
||||||
import com.intellij.psi.search.searches.ReferencesSearch
|
import com.intellij.psi.search.searches.ReferencesSearch
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
import org.jetbrains.kotlin.descriptors.PropertyDescriptor
|
||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory
|
||||||
@@ -344,7 +345,7 @@ object J2KPostProcessingRegistrar {
|
|||||||
fun check(element: KtProperty): Boolean {
|
fun check(element: KtProperty): Boolean {
|
||||||
val initializer = element.initializer ?: return false
|
val initializer = element.initializer ?: return false
|
||||||
val withoutExpectedType = initializer.analyzeInContext(initializer.getResolutionScope())
|
val withoutExpectedType = initializer.analyzeInContext(initializer.getResolutionScope())
|
||||||
val descriptor = element.resolveToDescriptorIfAny() as? PropertyDescriptor ?: return false
|
val descriptor = element.resolveToDescriptorIfAny() as? CallableDescriptor ?: return false
|
||||||
return when (withoutExpectedType.getType(initializer)) {
|
return when (withoutExpectedType.getType(initializer)) {
|
||||||
descriptor.returnType,
|
descriptor.returnType,
|
||||||
descriptor.returnType?.makeNotNullable() -> true
|
descriptor.returnType?.makeNotNullable() -> true
|
||||||
|
|||||||
Reference in New Issue
Block a user