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 0f00ced650a..00bffed539b 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 @@ -40,7 +40,8 @@ import org.jetbrains.uast.kotlin.psi.UastKotlinPsiParameter import org.jetbrains.uast.kotlin.psi.UastKotlinPsiVariable import org.jetbrains.uast.visitor.UastVisitor -abstract class AbstractKotlinUVariable(givenParent: UElement?) : KotlinAbstractUElement(givenParent), PsiVariable, UVariable, UAnchorOwner { +abstract class AbstractKotlinUVariable(givenParent: UElement?) : KotlinAbstractUElement(givenParent), PsiVariable, UVariableExPlaceHolder, + UAnchorOwner { override val uastInitializer: UExpression? get() { @@ -183,7 +184,7 @@ open class KotlinUParameter( psi: PsiParameter, final override val sourcePsi: KtElement?, givenParent: UElement? -) : AbstractKotlinUVariable(givenParent), UParameter, PsiParameter by psi { +) : AbstractKotlinUVariable(givenParent), UParameterExPlaceHolder, PsiParameter by psi { final override val javaPsi = unwrap(psi) @@ -290,7 +291,7 @@ open class KotlinUField( psi: PsiField, override val sourcePsi: KtElement?, givenParent: UElement? -) : AbstractKotlinUVariable(givenParent), UField, PsiField by psi { +) : AbstractKotlinUVariable(givenParent), UFieldExPlaceHolder, PsiField by psi { override fun getSourceElement() = sourcePsi ?: this override val javaPsi = unwrap(psi) @@ -335,7 +336,7 @@ open class KotlinULocalVariable( psi: PsiLocalVariable, override val sourcePsi: KtElement, givenParent: UElement? -) : AbstractKotlinUVariable(givenParent), ULocalVariable, PsiLocalVariable by psi { +) : AbstractKotlinUVariable(givenParent), ULocalVariableExPlaceHolder, PsiLocalVariable by psi { override val javaPsi = unwrap(psi) @@ -382,7 +383,7 @@ class KotlinUEnumConstant( psi: PsiEnumConstant, override val sourcePsi: KtElement?, givenParent: UElement? -) : AbstractKotlinUVariable(givenParent), UEnumConstant, UCallExpressionEx, DelegatedMultiResolve, PsiEnumConstant by psi { +) : AbstractKotlinUVariable(givenParent), UEnumConstantExPlaceHolder, UCallExpressionEx, DelegatedMultiResolve, PsiEnumConstant by psi { override val initializingClass: UClass? by lz { (psi.initializingClass as? KtLightClass)?.let { initializingClass -> diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/LocalFunction.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/LocalFunction.kt index 1e2f93a26b2..535d277531b 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/LocalFunction.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/expressions/LocalFunction.kt @@ -14,7 +14,7 @@ internal class KotlinLocalFunctionUVariable( val function: KtFunction, override val psi: PsiVariable, givenParent: UElement? -) : KotlinAbstractUElement(givenParent), UVariable, PsiVariable by psi { +) : KotlinAbstractUElement(givenParent), UVariableExPlaceHolder, PsiVariable by psi { override val javaPsi = psi override val sourcePsi: PsiElement? = (psi as? UastKotlinPsiVariable?)?.ktElement ?: psi diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/specificJavaPsiPlaceholders.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/specificJavaPsiPlaceholders.kt new file mode 100644 index 00000000000..5f966747180 --- /dev/null +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/specificJavaPsiPlaceholders.kt @@ -0,0 +1,15 @@ +/* + * Copyright 2010-2019 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.* + +typealias UFieldExPlaceHolder = UFieldEx +typealias UParameterExPlaceHolder = UParameterEx +typealias UVariableExPlaceHolder = UVariableEx +typealias ULocalVariableExPlaceHolder = ULocalVariableEx +typealias UEnumConstantExPlaceHolder = UEnumConstantEx +typealias UClassInitializerExPlaceHolder = UClassInitializerEx diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/specificJavaPsiPlaceholders.kt.181 b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/specificJavaPsiPlaceholders.kt.181 new file mode 100644 index 00000000000..8553a68a40f --- /dev/null +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/specificJavaPsiPlaceholders.kt.181 @@ -0,0 +1,15 @@ +/* + * Copyright 2010-2019 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.* + +typealias UFieldExPlaceHolder = UField +typealias UParameterExPlaceHolder = UParameter +typealias UVariableExPlaceHolder = UVariable +typealias ULocalVariableExPlaceHolder = ULocalVariable +typealias UEnumConstantExPlaceHolder = UEnumConstant +typealias UClassInitializerExPlaceHolder = UClassInitializer