Minor. Get rid of redundant is check and unused method
Now, nullability for ultra-light elements is processed via KtUltraLightNullabilityAnnotation
This commit is contained in:
@@ -11,7 +11,6 @@ import com.intellij.psi.impl.PsiSuperMethodImplUtil
|
|||||||
import com.intellij.psi.impl.light.LightMethodBuilder
|
import com.intellij.psi.impl.light.LightMethodBuilder
|
||||||
import com.intellij.psi.impl.light.LightTypeParameterListBuilder
|
import com.intellij.psi.impl.light.LightTypeParameterListBuilder
|
||||||
import org.jetbrains.annotations.NonNls
|
import org.jetbrains.annotations.NonNls
|
||||||
import org.jetbrains.kotlin.asJava.LightClassGenerationSupport
|
|
||||||
import org.jetbrains.kotlin.asJava.builder.LightMemberOriginForDeclaration
|
import org.jetbrains.kotlin.asJava.builder.LightMemberOriginForDeclaration
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethod
|
||||||
import org.jetbrains.kotlin.asJava.elements.KtLightMethodImpl
|
import org.jetbrains.kotlin.asJava.elements.KtLightMethodImpl
|
||||||
@@ -21,9 +20,7 @@ import org.jetbrains.kotlin.codegen.FunctionCodegen
|
|||||||
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
import org.jetbrains.kotlin.descriptors.CallableMemberDescriptor
|
||||||
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||||
import org.jetbrains.kotlin.lexer.KtTokens
|
|
||||||
import org.jetbrains.kotlin.psi.*
|
import org.jetbrains.kotlin.psi.*
|
||||||
import org.jetbrains.kotlin.resolve.BindingContext
|
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKind
|
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKind
|
||||||
import org.jetbrains.kotlin.types.KotlinType
|
import org.jetbrains.kotlin.types.KotlinType
|
||||||
@@ -158,23 +155,4 @@ internal class KtUltraLightParameter(
|
|||||||
}
|
}
|
||||||
return kotlinOrigin
|
return kotlinOrigin
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun getTypeForNullability(): KotlinType? {
|
|
||||||
if (receiver != null) return kotlinType
|
|
||||||
if (kotlinOrigin is KtProperty) {
|
|
||||||
if (kotlinOrigin.setter?.hasModifier(KtTokens.PRIVATE_KEYWORD) == true) return null
|
|
||||||
return kotlinType
|
|
||||||
}
|
|
||||||
if (kotlinOrigin is KtParameter) {
|
|
||||||
val reference = kotlinOrigin.typeReference
|
|
||||||
if (kotlinOrigin.isVarArg && reference != null) {
|
|
||||||
LightClassGenerationSupport.getInstance(project).analyze(reference)[BindingContext.TYPE, reference]?.let { return it }
|
|
||||||
}
|
|
||||||
if (reference != null || kotlinOrigin.parent?.parent is KtPropertyAccessor) {
|
|
||||||
return kotlinType
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import org.jetbrains.annotations.NotNull
|
|||||||
import org.jetbrains.annotations.Nullable
|
import org.jetbrains.annotations.Nullable
|
||||||
import org.jetbrains.annotations.TestOnly
|
import org.jetbrains.annotations.TestOnly
|
||||||
import org.jetbrains.kotlin.asJava.LightClassGenerationSupport
|
import org.jetbrains.kotlin.asJava.LightClassGenerationSupport
|
||||||
import org.jetbrains.kotlin.asJava.classes.KtUltraLightParameter
|
|
||||||
import org.jetbrains.kotlin.asJava.classes.cannotModify
|
import org.jetbrains.kotlin.asJava.classes.cannotModify
|
||||||
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
import org.jetbrains.kotlin.asJava.classes.lazyPub
|
||||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||||
@@ -290,10 +289,6 @@ open class KtLightNullabilityAnnotation<D : KtLightElement<*, PsiModifierListOwn
|
|||||||
internal fun KtTypeReference.getType(): KotlinType? = analyze()[BindingContext.TYPE, this]
|
internal fun KtTypeReference.getType(): KotlinType? = analyze()[BindingContext.TYPE, this]
|
||||||
|
|
||||||
private fun getTargetType(annotatedElement: PsiElement): KotlinType? {
|
private fun getTargetType(annotatedElement: PsiElement): KotlinType? {
|
||||||
if (member is KtUltraLightParameter) {
|
|
||||||
return member.getTypeForNullability()
|
|
||||||
}
|
|
||||||
|
|
||||||
if (annotatedElement is KtTypeReference) {
|
if (annotatedElement is KtTypeReference) {
|
||||||
annotatedElement.getType()?.let { return it }
|
annotatedElement.getType()?.let { return it }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user