Uast: uastParent made final in KotlinAbstractUElement
This commit is contained in:
committed by
Nikolay Krasko
parent
e7200d16c3
commit
2c81362ce1
@@ -33,7 +33,7 @@ import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable
|
|||||||
|
|
||||||
abstract class KotlinAbstractUElement(private val givenParent: UElement?) : UElement, JvmDeclarationUElement {
|
abstract class KotlinAbstractUElement(private val givenParent: UElement?) : UElement, JvmDeclarationUElement {
|
||||||
|
|
||||||
override val uastParent: UElement? by lz {
|
final override val uastParent: UElement? by lz {
|
||||||
givenParent ?: convertParent()
|
givenParent ?: convertParent()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -262,8 +262,8 @@ class KotlinScriptUClass(
|
|||||||
class KotlinScriptConstructorUMethod(
|
class KotlinScriptConstructorUMethod(
|
||||||
script: KtScript,
|
script: KtScript,
|
||||||
override val psi: KtLightMethod,
|
override val psi: KtLightMethod,
|
||||||
override val uastParent: UElement?
|
givenParent: UElement?
|
||||||
) : KotlinUMethod(psi, uastParent) {
|
) : KotlinUMethod(psi, givenParent) {
|
||||||
override val uastBody: UExpression? by lz {
|
override val uastBody: UExpression? by lz {
|
||||||
val initializers = script.declarations.filterIsInstance<KtScriptInitializer>()
|
val initializers = script.declarations.filterIsInstance<KtScriptInitializer>()
|
||||||
KotlinUBlockExpression.create(initializers, this)
|
KotlinUBlockExpression.create(initializers, this)
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ open class KotlinUAnnotatedLocalVariable(
|
|||||||
override val annotations: List<UAnnotation> by lz { computeAnnotations(this) }
|
override val annotations: List<UAnnotation> by lz { computeAnnotations(this) }
|
||||||
}
|
}
|
||||||
|
|
||||||
open class KotlinUEnumConstant(
|
class KotlinUEnumConstant(
|
||||||
psi: PsiEnumConstant,
|
psi: PsiEnumConstant,
|
||||||
override val sourcePsi: KtElement?,
|
override val sourcePsi: KtElement?,
|
||||||
givenParent: UElement?
|
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 javaPsi = unwrap<UEnumConstant, PsiEnumConstant>(psi)
|
||||||
|
|
||||||
override val psi = javaPsi
|
override val psi = javaPsi
|
||||||
@@ -404,15 +408,11 @@ open class KotlinUEnumConstant(
|
|||||||
private class KotlinEnumConstantClassReference(
|
private class KotlinEnumConstantClassReference(
|
||||||
override val psi: PsiEnumConstant,
|
override val psi: PsiEnumConstant,
|
||||||
override val sourcePsi: KtElement?,
|
override val sourcePsi: KtElement?,
|
||||||
private val givenParent: UElement?
|
givenParent: UElement?
|
||||||
) : KotlinAbstractUExpression(givenParent), USimpleNameReferenceExpression {
|
) : KotlinAbstractUExpression(givenParent), USimpleNameReferenceExpression {
|
||||||
override val javaPsi: PsiElement?
|
override val javaPsi: PsiElement?
|
||||||
get() = psi
|
get() = psi
|
||||||
|
|
||||||
override val uastParent: UElement? by lz {
|
|
||||||
givenParent ?: KotlinUastLanguagePlugin().convertElementWithParent(psi.parent ?: psi.containingFile, null)
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun resolve() = psi.containingClass
|
override fun resolve() = psi.containingClass
|
||||||
override val resolvedName: String?
|
override val resolvedName: String?
|
||||||
get() = psi.containingClass?.name
|
get() = psi.containingClass?.name
|
||||||
|
|||||||
+2
-2
@@ -28,8 +28,8 @@ open class KotlinUDeclarationsExpression(
|
|||||||
override val sourcePsi: PsiElement?
|
override val sourcePsi: PsiElement?
|
||||||
get() = psiAnchor
|
get() = psiAnchor
|
||||||
|
|
||||||
override val uastParent: UElement?
|
override fun convertParent(): UElement? =
|
||||||
get() = if (psiAnchor != null) doConvertParent(this, psiAnchor.parent) else super.uastParent
|
psiAnchor?.let { doConvertParent(this, it.parent) } ?: super.convertParent()
|
||||||
|
|
||||||
constructor(uastParent: UElement?) : this(null, uastParent)
|
constructor(uastParent: UElement?) : this(null, uastParent)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user