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(
private val ktElement: PsiElement,
private val reference: PsiReference,
private val clsDelegateProvider: () -> PsiJavaCodeReferenceElement
private val clsDelegateProvider: () -> PsiJavaCodeReferenceElement?
) :
PsiElement by ktElement,
PsiReference by reference,
@@ -20,23 +20,26 @@ class KtLightPsiJavaCodeReferenceElement(
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 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(
kotlinOrigin.navigationElement,
reference,
{ super.getNameReferenceElement()!! })
{ super.getNameReferenceElement() })
}
@@ -136,7 +136,7 @@ class KtLightAnnotationForSourceEntry(
return KtLightPsiJavaCodeReferenceElement(
kotlinOrigin.navigationElement,
reference,
{ super.getNameReferenceElement()!! })
{ super.getNameReferenceElement() })
}