Uast: uastParent made final in KotlinAbstractUElement

This commit is contained in:
Nicolay Mitropolsky
2017-12-05 19:23:36 +03:00
committed by Nikolay Krasko
parent e7200d16c3
commit 2c81362ce1
4 changed files with 11 additions and 11 deletions
@@ -33,7 +33,7 @@ import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable
abstract class KotlinAbstractUElement(private val givenParent: UElement?) : UElement, JvmDeclarationUElement {
override val uastParent: UElement? by lz {
final override val uastParent: UElement? by lz {
givenParent ?: convertParent()
}
@@ -262,8 +262,8 @@ class KotlinScriptUClass(
class KotlinScriptConstructorUMethod(
script: KtScript,
override val psi: KtLightMethod,
override val uastParent: UElement?
) : KotlinUMethod(psi, uastParent) {
givenParent: UElement?
) : KotlinUMethod(psi, givenParent) {
override val uastBody: UExpression? by lz {
val initializers = script.declarations.filterIsInstance<KtScriptInitializer>()
KotlinUBlockExpression.create(initializers, this)
@@ -337,7 +337,7 @@ open class KotlinUAnnotatedLocalVariable(
override val annotations: List<UAnnotation> by lz { computeAnnotations(this) }
}
open class KotlinUEnumConstant(
class KotlinUEnumConstant(
psi: PsiEnumConstant,
override val sourcePsi: KtElement?,
givenParent: UElement?
@@ -349,6 +349,10 @@ open class KotlinUEnumConstant(
}
}
override fun getInitializer(): PsiExpression? = super<AbstractKotlinUVariable>.getInitializer()
override fun getOriginalElement(): PsiElement? = super<AbstractKotlinUVariable>.getOriginalElement()
override val javaPsi = unwrap<UEnumConstant, PsiEnumConstant>(psi)
override val psi = javaPsi
@@ -404,15 +408,11 @@ open class KotlinUEnumConstant(
private class KotlinEnumConstantClassReference(
override val psi: PsiEnumConstant,
override val sourcePsi: KtElement?,
private val givenParent: UElement?
givenParent: UElement?
) : KotlinAbstractUExpression(givenParent), USimpleNameReferenceExpression {
override val javaPsi: PsiElement?
get() = psi
override val uastParent: UElement? by lz {
givenParent ?: KotlinUastLanguagePlugin().convertElementWithParent(psi.parent ?: psi.containingFile, null)
}
override fun resolve() = psi.containingClass
override val resolvedName: String?
get() = psi.containingClass?.name
@@ -28,8 +28,8 @@ open class KotlinUDeclarationsExpression(
override val sourcePsi: PsiElement?
get() = psiAnchor
override val uastParent: UElement?
get() = if (psiAnchor != null) doConvertParent(this, psiAnchor.parent) else super.uastParent
override fun convertParent(): UElement? =
psiAnchor?.let { doConvertParent(this, it.parent) } ?: super.convertParent()
constructor(uastParent: UElement?) : this(null, uastParent)