KtLightPsiJavaCodeReferenceElement delegate made nullable (KT-26036, EA-124029)

This commit is contained in:
Nicolay Mitropolsky
2018-08-10 20:48:48 +03:00
parent 84c035c763
commit 2ba2d360c2
3 changed files with 15 additions and 12 deletions
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.asJava.classes.lazyPub
class KtLightPsiJavaCodeReferenceElement( class KtLightPsiJavaCodeReferenceElement(
private val ktElement: PsiElement, private val ktElement: PsiElement,
private val reference: PsiReference, private val reference: PsiReference,
private val clsDelegateProvider: () -> PsiJavaCodeReferenceElement private val clsDelegateProvider: () -> PsiJavaCodeReferenceElement?
) : ) :
PsiElement by ktElement, PsiElement by ktElement,
PsiReference by reference, PsiReference by reference,
@@ -20,23 +20,26 @@ class KtLightPsiJavaCodeReferenceElement(
private val delegate by lazyPub { clsDelegateProvider() } private val delegate by lazyPub { clsDelegateProvider() }
override fun advancedResolve(incompleteCode: Boolean): JavaResolveResult = delegate.advancedResolve(incompleteCode) override fun advancedResolve(incompleteCode: Boolean): JavaResolveResult =
delegate?.advancedResolve(incompleteCode) ?: JavaResolveResult.EMPTY
override fun getReferenceNameElement(): PsiElement? = ktElement override fun getReferenceNameElement(): PsiElement? = ktElement
override fun getTypeParameters(): Array<PsiType> = delegate.typeParameters override fun getTypeParameters(): Array<PsiType> = delegate?.typeParameters ?: emptyArray()
override fun getReferenceName(): String? = delegate.referenceName override fun getReferenceName(): String? = delegate?.referenceName
override fun isQualified(): Boolean = delegate.isQualified override fun isQualified(): Boolean = delegate?.isQualified ?: false
override fun processVariants(processor: PsiScopeProcessor) = delegate.processVariants(processor) override fun processVariants(processor: PsiScopeProcessor) {
delegate?.processVariants(processor)
}
override fun multiResolve(incompleteCode: Boolean): Array<JavaResolveResult> = delegate.multiResolve(incompleteCode) override fun multiResolve(incompleteCode: Boolean): Array<JavaResolveResult> = delegate?.multiResolve(incompleteCode) ?: emptyArray()
override fun getQualifiedName(): String = delegate.qualifiedName override fun getQualifiedName(): String? = delegate?.qualifiedName
override fun getQualifier(): PsiElement? = delegate.qualifier override fun getQualifier(): PsiElement? = delegate?.qualifier
override fun getParameterList(): PsiReferenceParameterList? = delegate.parameterList override fun getParameterList(): PsiReferenceParameterList? = delegate?.parameterList
} }
@@ -134,7 +134,7 @@ class KtLightAnnotationForSourceEntry(
return KtLightPsiJavaCodeReferenceElement( return KtLightPsiJavaCodeReferenceElement(
kotlinOrigin.navigationElement, kotlinOrigin.navigationElement,
reference, reference,
{ super.getNameReferenceElement()!! }) { super.getNameReferenceElement() })
} }
@@ -136,7 +136,7 @@ class KtLightAnnotationForSourceEntry(
return KtLightPsiJavaCodeReferenceElement( return KtLightPsiJavaCodeReferenceElement(
kotlinOrigin.navigationElement, kotlinOrigin.navigationElement,
reference, reference,
{ super.getNameReferenceElement()!! }) { super.getNameReferenceElement() })
} }