From cf43be9fa36534fcf8377303e848c3c6868b7ccd Mon Sep 17 00:00:00 2001 From: Nicolay Mitropolsky Date: Mon, 7 May 2018 20:13:39 +0300 Subject: [PATCH] UAST: replacing deprecated `JvmDeclarationUElement` with `JvmDeclarationUElementPlaceholder` (#KT-23887) To make it possible to delete `JvmDeclarationUElement` in IDEA-182 --- .../kotlin/JvmDeclarationUElementPlaceholder.kt | 13 +++++++++++++ .../kotlin/JvmDeclarationUElementPlaceholder.kt.172 | 13 +++++++++++++ .../kotlin/JvmDeclarationUElementPlaceholder.kt.173 | 13 +++++++++++++ .../jetbrains/uast/kotlin/KotlinAbstractUElement.kt | 5 +++-- .../uast/kotlin/KotlinAbstractUElement.kt.172 | 3 ++- .../uast/kotlin/declarations/KotlinUClass.kt | 2 +- .../uast/kotlin/declarations/KotlinUClass.kt.173 | 2 +- .../uast/kotlin/declarations/KotlinUClass.kt.as32 | 2 +- .../uast/kotlin/declarations/KotlinUFile.kt | 2 +- .../uast/kotlin/declarations/KotlinUVariable.kt | 8 ++++---- .../uast/kotlin/declarations/KotlinUVariable.kt.173 | 7 ++++--- .../kotlin/declarations/KotlinUVariable.kt.as32 | 6 +++--- .../uast/kotlin/expressions/ElvisExpression.kt | 8 ++++---- .../uast/kotlin/expressions/ElvisExpression.kt.173 | 8 ++++---- .../uast/kotlin/expressions/ElvisExpression.kt.as32 | 8 ++++---- .../kotlin/expressions/KotlinUBlockExpression.kt | 2 +- .../expressions/KotlinUSimpleReferenceExpression.kt | 2 +- .../KotlinUSimpleReferenceExpression.kt.173 | 2 +- .../KotlinUSimpleReferenceExpression.kt.as32 | 2 +- .../kotlin/expressions/KotlinUSwitchExpression.kt | 2 +- .../expressions/KotlinUSwitchExpression.kt.173 | 2 +- .../expressions/KotlinUSwitchExpression.kt.as32 | 2 +- .../kotlin/internal/KotlinUElementWithComments.kt | 5 ++--- .../internal/KotlinUElementWithComments.kt.172 | 3 ++- .../tests/AbstractKotlinRenderLogTest.kt | 4 ++-- .../tests/AbstractKotlinRenderLogTest.kt.173 | 4 ++-- .../tests/AbstractKotlinRenderLogTest.kt.as32 | 4 ++-- 27 files changed, 88 insertions(+), 46 deletions(-) create mode 100644 plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt create mode 100644 plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt.172 create mode 100644 plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt.173 diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt new file mode 100644 index 00000000000..49e8ed2038d --- /dev/null +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt @@ -0,0 +1,13 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.uast.kotlin + +import org.jetbrains.uast.UElement + +/** + * Actual only for 173-bunch, please remove when 173 is over + */ +typealias JvmDeclarationUElementPlaceholder = UElement \ No newline at end of file diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt.172 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt.172 new file mode 100644 index 00000000000..49e8ed2038d --- /dev/null +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt.172 @@ -0,0 +1,13 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.uast.kotlin + +import org.jetbrains.uast.UElement + +/** + * Actual only for 173-bunch, please remove when 173 is over + */ +typealias JvmDeclarationUElementPlaceholder = UElement \ No newline at end of file diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt.173 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt.173 new file mode 100644 index 00000000000..54853595af4 --- /dev/null +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/JvmDeclarationUElementPlaceholder.kt.173 @@ -0,0 +1,13 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.uast.kotlin + +import org.jetbrains.uast.JvmDeclarationUElement + +/** + * Actual only for 173-bunch, please remove when 173 is over + */ +typealias JvmDeclarationUElementPlaceholder = JvmDeclarationUElement \ No newline at end of file diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinAbstractUElement.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinAbstractUElement.kt index 9f7abbb111c..3b2d33310e4 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinAbstractUElement.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinAbstractUElement.kt @@ -32,7 +32,8 @@ import org.jetbrains.uast.kotlin.expressions.KotlinUElvisExpression import org.jetbrains.uast.kotlin.internal.KotlinUElementWithComments import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable -abstract class KotlinAbstractUElement(private val givenParent: UElement?) : KotlinUElementWithComments, UElement, JvmDeclarationUElement { +abstract class KotlinAbstractUElement(private val givenParent: UElement?) : KotlinUElementWithComments, + JvmDeclarationUElementPlaceholder { final override val uastParent: UElement? by lz { givenParent ?: convertParent() @@ -202,7 +203,7 @@ private fun findAnnotationClassFromConstructorParameter(parameter: KtParameter): abstract class KotlinAbstractUExpression(givenParent: UElement?) : KotlinAbstractUElement(givenParent), UExpression, - JvmDeclarationUElement { + JvmDeclarationUElementPlaceholder { override val javaPsi: PsiElement? = null diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinAbstractUElement.kt.172 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinAbstractUElement.kt.172 index cb817fa464d..07ea8c94168 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinAbstractUElement.kt.172 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinAbstractUElement.kt.172 @@ -29,7 +29,8 @@ import org.jetbrains.uast.kotlin.expressions.KotlinUElvisExpression import org.jetbrains.uast.kotlin.internal.KotlinUElementWithComments import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable -abstract class KotlinAbstractUElement(private val givenParent: UElement?) : KotlinUElementWithComments, UElement { +abstract class KotlinAbstractUElement(private val givenParent: UElement?) : KotlinUElementWithComments, + JvmDeclarationUElementPlaceholder { override val uastParent: UElement? by lz { givenParent ?: convertParent() diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt index 886373290bd..538fccf6561 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt @@ -31,7 +31,7 @@ import org.jetbrains.uast.kotlin.declarations.KotlinUMethod import org.jetbrains.uast.kotlin.declarations.UastLightIdentifier abstract class AbstractKotlinUClass(givenParent: UElement?) : KotlinAbstractUElement(givenParent), UClassTypeSpecific, UAnchorOwner, - JvmDeclarationUElement { + JvmDeclarationUElementPlaceholder { override val uastDeclarations by lz { mutableListOf().apply { diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt.173 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt.173 index 23634caebf8..9258fb3ca64 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt.173 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt.173 @@ -29,7 +29,7 @@ import org.jetbrains.uast.* import org.jetbrains.uast.kotlin.declarations.KotlinUMethod import org.jetbrains.uast.kotlin.declarations.UastLightIdentifier -abstract class AbstractKotlinUClass(givenParent: UElement?) : KotlinAbstractUElement(givenParent), UClass, JvmDeclarationUElement { +abstract class AbstractKotlinUClass(givenParent: UElement?) : KotlinAbstractUElement(givenParent), UClass, JvmDeclarationUElementPlaceholder { override val uastDeclarations by lz { mutableListOf().apply { diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt.as32 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt.as32 index 23634caebf8..9258fb3ca64 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt.as32 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUClass.kt.as32 @@ -29,7 +29,7 @@ import org.jetbrains.uast.* import org.jetbrains.uast.kotlin.declarations.KotlinUMethod import org.jetbrains.uast.kotlin.declarations.UastLightIdentifier -abstract class AbstractKotlinUClass(givenParent: UElement?) : KotlinAbstractUElement(givenParent), UClass, JvmDeclarationUElement { +abstract class AbstractKotlinUClass(givenParent: UElement?) : KotlinAbstractUElement(givenParent), UClass, JvmDeclarationUElementPlaceholder { override val uastDeclarations by lz { mutableListOf().apply { diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUFile.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUFile.kt index e5306c42ce1..3f686593ffb 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUFile.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUFile.kt @@ -27,7 +27,7 @@ import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.uast.* import java.util.* -class KotlinUFile(override val psi: KtFile, override val languagePlugin: UastLanguagePlugin) : UFile, JvmDeclarationUElement { +class KotlinUFile(override val psi: KtFile, override val languagePlugin: UastLanguagePlugin) : UFile, JvmDeclarationUElementPlaceholder { override val packageName: String get() = psi.packageFqName.asString() diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt index a9402bd1226..b2842d351db 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt @@ -34,7 +34,6 @@ import org.jetbrains.uast.* import org.jetbrains.uast.internal.acceptList import org.jetbrains.uast.kotlin.declarations.KotlinUIdentifier import org.jetbrains.uast.kotlin.declarations.UastLightIdentifier -import org.jetbrains.uast.kotlin.internal.KotlinUElementWithComments import org.jetbrains.uast.kotlin.psi.UastKotlinPsiParameter import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable import org.jetbrains.uast.visitor.UastVisitor @@ -113,7 +112,7 @@ abstract class AbstractKotlinUVariable(givenParent: UElement?) : KotlinAbstractU override fun equals(other: Any?) = other is AbstractKotlinUVariable && psi == other.psi class WrappedUAnnotation(psiAnnotation: PsiAnnotation, override val uastParent: UElement) : UAnnotation, UAnchorOwner, - JvmDeclarationUElement { + JvmDeclarationUElementPlaceholder { override val javaPsi: PsiAnnotation = psiAnnotation override val psi: PsiAnnotation = javaPsi @@ -125,7 +124,8 @@ abstract class AbstractKotlinUVariable(givenParent: UElement?) : KotlinAbstractU override val uastAnchor by lazy { KotlinUIdentifier(javaPsi.nameReferenceElement?.referenceNameElement, null, this) } - class WrappedUNamedExpression(pair: PsiNameValuePair, override val uastParent: UElement?) : UNamedExpression, JvmDeclarationUElement { + class WrappedUNamedExpression(pair: PsiNameValuePair, override val uastParent: UElement?) : UNamedExpression, + JvmDeclarationUElementPlaceholder { override val name: String? = pair.name override val psi = pair override val javaPsi: PsiElement? = psi @@ -233,7 +233,7 @@ class KotlinReceiverUParameter( } class KotlinNullabilityUAnnotation(val annotatedElement: PsiElement, override val uastParent: UElement) : UAnnotationEx, UAnchorOwner, - JvmDeclarationUElement { + JvmDeclarationUElementPlaceholder { private fun getTargetType(annotatedElement: PsiElement): KotlinType? { if (annotatedElement is KtTypeReference) { diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt.173 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt.173 index 6926a5e9353..c4d76e429c6 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt.173 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt.173 @@ -99,7 +99,8 @@ abstract class AbstractKotlinUVariable(givenParent: UElement?) override fun equals(other: Any?) = other is AbstractKotlinUVariable && psi == other.psi - class WrappedUAnnotation(psiAnnotation: PsiAnnotation, override val uastParent: UElement) : UAnnotation, JvmDeclarationUElement { + class WrappedUAnnotation(psiAnnotation: PsiAnnotation, override val uastParent: UElement) : UAnnotation, + JvmDeclarationUElementPlaceholder { override val javaPsi: PsiAnnotation = psiAnnotation override val psi: PsiAnnotation = javaPsi @@ -109,7 +110,7 @@ abstract class AbstractKotlinUVariable(givenParent: UElement?) psi.parameterList.attributes.map { WrappedUNamedExpression(it, this) } } - class WrappedUNamedExpression(pair: PsiNameValuePair, override val uastParent: UElement?) : UNamedExpression, JvmDeclarationUElement { + class WrappedUNamedExpression(pair: PsiNameValuePair, override val uastParent: UElement?) : UNamedExpression, JvmDeclarationUElementPlaceholder { override val name: String? = pair.name override val psi = pair override val javaPsi: PsiElement? = psi @@ -216,7 +217,7 @@ class KotlinReceiverUParameter( } -class KotlinNullabilityUAnnotation(val annotatedElement: PsiElement, override val uastParent: UElement) : UAnnotation, JvmDeclarationUElement { +class KotlinNullabilityUAnnotation(val annotatedElement: PsiElement, override val uastParent: UElement) : UAnnotation, JvmDeclarationUElementPlaceholder { private fun getTargetType(annotatedElement: PsiElement): KotlinType? { if (annotatedElement is KtTypeReference) { diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt.as32 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt.as32 index 6926a5e9353..3edf6d04353 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt.as32 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/declarations/KotlinUVariable.kt.as32 @@ -99,7 +99,7 @@ abstract class AbstractKotlinUVariable(givenParent: UElement?) override fun equals(other: Any?) = other is AbstractKotlinUVariable && psi == other.psi - class WrappedUAnnotation(psiAnnotation: PsiAnnotation, override val uastParent: UElement) : UAnnotation, JvmDeclarationUElement { + class WrappedUAnnotation(psiAnnotation: PsiAnnotation, override val uastParent: UElement) : UAnnotation, JvmDeclarationUElementPlaceholder { override val javaPsi: PsiAnnotation = psiAnnotation override val psi: PsiAnnotation = javaPsi @@ -109,7 +109,7 @@ abstract class AbstractKotlinUVariable(givenParent: UElement?) psi.parameterList.attributes.map { WrappedUNamedExpression(it, this) } } - class WrappedUNamedExpression(pair: PsiNameValuePair, override val uastParent: UElement?) : UNamedExpression, JvmDeclarationUElement { + class WrappedUNamedExpression(pair: PsiNameValuePair, override val uastParent: UElement?) : UNamedExpression, JvmDeclarationUElementPlaceholder { override val name: String? = pair.name override val psi = pair override val javaPsi: PsiElement? = psi @@ -216,7 +216,7 @@ class KotlinReceiverUParameter( } -class KotlinNullabilityUAnnotation(val annotatedElement: PsiElement, override val uastParent: UElement) : UAnnotation, JvmDeclarationUElement { +class KotlinNullabilityUAnnotation(val annotatedElement: PsiElement, override val uastParent: UElement) : UAnnotation, JvmDeclarationUElementPlaceholder { private fun getTargetType(annotatedElement: PsiElement): KotlinType? { if (annotatedElement is KtTypeReference) { diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt index e8b4f1706cd..74e3b5f4ea6 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt @@ -15,7 +15,7 @@ import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable private fun createVariableReferenceExpression(variable: UVariable, containingElement: UElement?) = - object : USimpleNameReferenceExpression, JvmDeclarationUElement { + object : USimpleNameReferenceExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override fun resolve(): PsiElement? = variable override val uastParent: UElement? = containingElement @@ -27,7 +27,7 @@ private fun createVariableReferenceExpression(variable: UVariable, containingEle } private fun createNullLiteralExpression(containingElement: UElement?) = - object : ULiteralExpression, JvmDeclarationUElement { + object : ULiteralExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val value: Any? = null @@ -37,7 +37,7 @@ private fun createNullLiteralExpression(containingElement: UElement?) = } private fun createNotEqWithNullExpression(variable: UVariable, containingElement: UElement?) = - object : UBinaryExpression, JvmDeclarationUElement { + object : UBinaryExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val leftOperand: UExpression by lz { createVariableReferenceExpression(variable, this) } @@ -60,7 +60,7 @@ private fun createElvisExpressions( val tempVariable = KotlinULocalVariable(UastKotlinPsiVariable.create(left, declaration, psiParent), left, declaration) declaration.declarations = listOf(tempVariable) - val ifExpression = object : UIfExpression, JvmDeclarationUElement { + val ifExpression = object : UIfExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val javaPsi: PsiElement? = null diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt.173 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt.173 index 49ee7c994ca..62fde94b261 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt.173 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt.173 @@ -14,7 +14,7 @@ import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable private fun createVariableReferenceExpression(variable: UVariable, containingElement: UElement?) = - object : USimpleNameReferenceExpression, JvmDeclarationUElement { + object : USimpleNameReferenceExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override fun resolve(): PsiElement? = variable override val uastParent: UElement? = containingElement @@ -26,7 +26,7 @@ private fun createVariableReferenceExpression(variable: UVariable, containingEle } private fun createNullLiteralExpression(containingElement: UElement?) = - object : ULiteralExpression, JvmDeclarationUElement { + object : ULiteralExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val value: Any? = null @@ -36,7 +36,7 @@ private fun createNullLiteralExpression(containingElement: UElement?) = } private fun createNotEqWithNullExpression(variable: UVariable, containingElement: UElement?) = - object : UBinaryExpression, JvmDeclarationUElement { + object : UBinaryExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val leftOperand: UExpression by lz { createVariableReferenceExpression(variable, this) } @@ -59,7 +59,7 @@ private fun createElvisExpressions( val tempVariable = KotlinULocalVariable(UastKotlinPsiVariable.create(left, declaration, psiParent), left, declaration) declaration.declarations = listOf(tempVariable) - val ifExpression = object : UIfExpression, JvmDeclarationUElement { + val ifExpression = object : UIfExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val javaPsi: PsiElement? = null diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt.as32 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt.as32 index 49ee7c994ca..62fde94b261 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt.as32 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/ElvisExpression.kt.as32 @@ -14,7 +14,7 @@ import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable private fun createVariableReferenceExpression(variable: UVariable, containingElement: UElement?) = - object : USimpleNameReferenceExpression, JvmDeclarationUElement { + object : USimpleNameReferenceExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override fun resolve(): PsiElement? = variable override val uastParent: UElement? = containingElement @@ -26,7 +26,7 @@ private fun createVariableReferenceExpression(variable: UVariable, containingEle } private fun createNullLiteralExpression(containingElement: UElement?) = - object : ULiteralExpression, JvmDeclarationUElement { + object : ULiteralExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val value: Any? = null @@ -36,7 +36,7 @@ private fun createNullLiteralExpression(containingElement: UElement?) = } private fun createNotEqWithNullExpression(variable: UVariable, containingElement: UElement?) = - object : UBinaryExpression, JvmDeclarationUElement { + object : UBinaryExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val leftOperand: UExpression by lz { createVariableReferenceExpression(variable, this) } @@ -59,7 +59,7 @@ private fun createElvisExpressions( val tempVariable = KotlinULocalVariable(UastKotlinPsiVariable.create(left, declaration, psiParent), left, declaration) declaration.declarations = listOf(tempVariable) - val ifExpression = object : UIfExpression, JvmDeclarationUElement { + val ifExpression = object : UIfExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val uastParent: UElement? = containingElement override val javaPsi: PsiElement? = null diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUBlockExpression.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUBlockExpression.kt index abf4bcf11b1..ad1f79613ae 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUBlockExpression.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUBlockExpression.kt @@ -30,7 +30,7 @@ class KotlinUBlockExpression( class KotlinLazyUBlockExpression( override val uastParent: UElement?, expressionProducer: (expressionParent: UElement) -> List - ) : UBlockExpression, JvmDeclarationUElement { + ) : UBlockExpression, JvmDeclarationUElementPlaceholder { override val psi: PsiElement? = null override val javaPsi: PsiElement? = null override val sourcePsi: PsiElement? = null diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt index 3390745f886..35f7f36e08d 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt @@ -102,7 +102,7 @@ open class KotlinUSimpleReferenceExpression( private val resolvedCall: ResolvedCall<*>, private val accessorDescriptor: DeclarationDescriptor, val setterValue: KtExpression? - ) : UCallExpressionEx, JvmDeclarationUElement { + ) : UCallExpressionEx, JvmDeclarationUElementPlaceholder { override val methodName: String? get() = accessorDescriptor.name.asString() diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt.173 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt.173 index e3f258a99e6..dbfcfa8cbc2 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt.173 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt.173 @@ -101,7 +101,7 @@ open class KotlinUSimpleReferenceExpression( private val resolvedCall: ResolvedCall<*>, private val accessorDescriptor: DeclarationDescriptor, val setterValue: KtExpression? - ) : UCallExpression, JvmDeclarationUElement { + ) : UCallExpression, JvmDeclarationUElementPlaceholder { override val methodName: String? get() = accessorDescriptor.name.asString() diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt.as32 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt.as32 index e3f258a99e6..dbfcfa8cbc2 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt.as32 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSimpleReferenceExpression.kt.as32 @@ -101,7 +101,7 @@ open class KotlinUSimpleReferenceExpression( private val resolvedCall: ResolvedCall<*>, private val accessorDescriptor: DeclarationDescriptor, val setterValue: KtExpression? - ) : UCallExpression, JvmDeclarationUElement { + ) : UCallExpression, JvmDeclarationUElementPlaceholder { override val methodName: String? get() = accessorDescriptor.name.asString() diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt index ebe356145f6..52052a319ed 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt @@ -70,7 +70,7 @@ class KotlinUSwitchEntry( is KtBlockExpression -> exprPsi.statements.map { KotlinConverter.convertOrEmpty(it, this) } else -> listOf(KotlinConverter.convertOrEmpty(exprPsi, this)) } - expressions = userExpressions + object : UBreakExpression, JvmDeclarationUElement { + expressions = userExpressions + object : UBreakExpression, JvmDeclarationUElementPlaceholder { override val javaPsi: PsiElement? = null override val sourcePsi: PsiElement? = null override val psi: PsiElement? diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt.173 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt.173 index 4fecbaeb828..47e8f14fcc3 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt.173 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt.173 @@ -69,7 +69,7 @@ class KotlinUSwitchEntry( is KtBlockExpression -> exprPsi.statements.map { KotlinConverter.convertOrEmpty(it, this) } else -> listOf(KotlinConverter.convertOrEmpty(exprPsi, this)) } - expressions = userExpressions + object : UBreakExpression, JvmDeclarationUElement { + expressions = userExpressions + object : UBreakExpression, JvmDeclarationUElementPlaceholder { override val javaPsi: PsiElement? = null override val sourcePsi: PsiElement? = null override val psi: PsiElement? diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt.as32 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt.as32 index 4fecbaeb828..47e8f14fcc3 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt.as32 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/KotlinUSwitchExpression.kt.as32 @@ -69,7 +69,7 @@ class KotlinUSwitchEntry( is KtBlockExpression -> exprPsi.statements.map { KotlinConverter.convertOrEmpty(it, this) } else -> listOf(KotlinConverter.convertOrEmpty(exprPsi, this)) } - expressions = userExpressions + object : UBreakExpression, JvmDeclarationUElement { + expressions = userExpressions + object : UBreakExpression, JvmDeclarationUElementPlaceholder { override val javaPsi: PsiElement? = null override val sourcePsi: PsiElement? = null override val psi: PsiElement? diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/internal/KotlinUElementWithComments.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/internal/KotlinUElementWithComments.kt index a7812a27c86..2ce5065cac0 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/internal/KotlinUElementWithComments.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/internal/KotlinUElementWithComments.kt @@ -20,12 +20,11 @@ import com.intellij.psi.PsiComment import com.intellij.psi.PsiElement import com.intellij.psi.PsiWhiteSpace import org.jetbrains.kotlin.psi.KtValueArgument -import org.jetbrains.uast.JvmDeclarationUElement import org.jetbrains.uast.UComment -import org.jetbrains.uast.UElement import org.jetbrains.uast.UExpression +import org.jetbrains.uast.kotlin.JvmDeclarationUElementPlaceholder -interface KotlinUElementWithComments : UElement, JvmDeclarationUElement { +interface KotlinUElementWithComments : JvmDeclarationUElementPlaceholder { override val comments: List get() { diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/internal/KotlinUElementWithComments.kt.172 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/internal/KotlinUElementWithComments.kt.172 index 190d3000bdc..d5049059599 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/internal/KotlinUElementWithComments.kt.172 +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/internal/KotlinUElementWithComments.kt.172 @@ -23,8 +23,9 @@ import org.jetbrains.kotlin.psi.KtValueArgument import org.jetbrains.uast.UComment import org.jetbrains.uast.UElement import org.jetbrains.uast.UExpression +import org.jetbrains.uast.kotlin.JvmDeclarationUElementPlaceholder -interface KotlinUElementWithComments : UElement { +interface KotlinUElementWithComments : JvmDeclarationUElementPlaceholder { override val comments: List get() { diff --git a/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt b/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt index 10c2ce5acb9..7d71ce2970a 100644 --- a/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt +++ b/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt @@ -7,10 +7,10 @@ import com.intellij.psi.impl.source.tree.LeafPsiElement import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.utils.addToStdlib.assertedCast -import org.jetbrains.uast.JvmDeclarationUElement import org.jetbrains.uast.UAnchorOwner import org.jetbrains.uast.UElement import org.jetbrains.uast.UFile +import org.jetbrains.uast.kotlin.JvmDeclarationUElementPlaceholder import org.jetbrains.uast.kotlin.KOTLIN_CACHED_UELEMENT_KEY import org.jetbrains.uast.kotlin.KotlinUastLanguagePlugin import org.jetbrains.uast.test.common.RenderLogTestBase @@ -108,7 +108,7 @@ abstract class AbstractKotlinRenderLogTest : AbstractKotlinUastTest(), RenderLog node.uastAnchor?.let { visitElement(it) } } - val jvmDeclaration = node as? JvmDeclarationUElement + val jvmDeclaration = node as? JvmDeclarationUElementPlaceholder ?: throw AssertionError("${node.javaClass} should implement 'JvmDeclarationUElement'") jvmDeclaration.sourcePsi?.let { diff --git a/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt.173 b/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt.173 index f0fd8111308..f706d21b428 100644 --- a/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt.173 +++ b/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt.173 @@ -7,10 +7,10 @@ import com.intellij.psi.impl.source.tree.LeafPsiElement import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.utils.addToStdlib.assertedCast -import org.jetbrains.uast.JvmDeclarationUElement import org.jetbrains.uast.UDeclaration import org.jetbrains.uast.UElement import org.jetbrains.uast.UFile +import org.jetbrains.uast.kotlin.JvmDeclarationUElementPlaceholder import org.jetbrains.uast.kotlin.KOTLIN_CACHED_UELEMENT_KEY import org.jetbrains.uast.kotlin.KotlinUastLanguagePlugin import org.jetbrains.uast.test.common.RenderLogTestBase @@ -104,7 +104,7 @@ abstract class AbstractKotlinRenderLogTest : AbstractKotlinUastTest(), RenderLog accept(object : UastVisitor { override fun visitElement(node: UElement): Boolean { - val jvmDeclaration = node as? JvmDeclarationUElement + val jvmDeclaration = node as? JvmDeclarationUElementPlaceholder ?: throw AssertionError("${node.javaClass} should implement 'JvmDeclarationUElement'") jvmDeclaration.sourcePsi?.let { diff --git a/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt.as32 b/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt.as32 index f0fd8111308..f706d21b428 100644 --- a/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt.as32 +++ b/plugins/uast-kotlin/tests/AbstractKotlinRenderLogTest.kt.as32 @@ -7,10 +7,10 @@ import com.intellij.psi.impl.source.tree.LeafPsiElement import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.utils.addToStdlib.assertedCast -import org.jetbrains.uast.JvmDeclarationUElement import org.jetbrains.uast.UDeclaration import org.jetbrains.uast.UElement import org.jetbrains.uast.UFile +import org.jetbrains.uast.kotlin.JvmDeclarationUElementPlaceholder import org.jetbrains.uast.kotlin.KOTLIN_CACHED_UELEMENT_KEY import org.jetbrains.uast.kotlin.KotlinUastLanguagePlugin import org.jetbrains.uast.test.common.RenderLogTestBase @@ -104,7 +104,7 @@ abstract class AbstractKotlinRenderLogTest : AbstractKotlinUastTest(), RenderLog accept(object : UastVisitor { override fun visitElement(node: UElement): Boolean { - val jvmDeclaration = node as? JvmDeclarationUElement + val jvmDeclaration = node as? JvmDeclarationUElementPlaceholder ?: throw AssertionError("${node.javaClass} should implement 'JvmDeclarationUElement'") jvmDeclaration.sourcePsi?.let {