From db1cc9d807e3f41f0e0bfa2eaabb0f1dbc65e0bc Mon Sep 17 00:00:00 2001 From: Dmitry Gridin Date: Thu, 7 Jul 2022 19:04:29 +0200 Subject: [PATCH] [light classes] move KtLightElements to light-classes-base module ^KT-53097 --- .../kotlin/asJava/elements/KtLightElements.kt | 30 +++++++++++++++++++ .../kotlin/asJava/elements/KtLightElements.kt | 19 ------------ 2 files changed, 30 insertions(+), 19 deletions(-) create mode 100644 compiler/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt diff --git a/compiler/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt b/compiler/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt new file mode 100644 index 00000000000..52e269dee8c --- /dev/null +++ b/compiler/light-classes-base/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt @@ -0,0 +1,30 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * 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.kotlin.asJava.elements + +import com.intellij.psi.PsiElement +import com.intellij.psi.PsiField +import com.intellij.psi.PsiNamedElement +import org.jetbrains.kotlin.psi.KtDeclaration +import org.jetbrains.kotlin.psi.KtElement + +interface KtLightElement : PsiElement { + val kotlinOrigin: T? + + /** + * KtLightModifierList by default retrieves annotation from the relevant KtElement or from clsDelegate + * But we have none of them for KtUltraLightAnnotationForDescriptor built upon descriptor + * For that case, KtLightModifierList in the beginning checks `givenAnnotations` and uses them if it's not null + * Probably, it's a bit dirty solution. But, for now it's not clear how to make it better + */ + val givenAnnotations: List? get() = null +} + +interface KtLightDeclaration : KtLightElement, PsiNamedElement + +interface KtLightFieldForSourceDeclarationSupport : PsiField { + val kotlinOrigin: KtDeclaration? +} diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt index a3d800d3e6f..357a451e705 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/elements/KtLightElements.kt @@ -10,24 +10,9 @@ import com.intellij.psi.impl.PsiVariableEx import org.jetbrains.kotlin.asJava.builder.LightMemberOrigin import org.jetbrains.kotlin.asJava.classes.KtLightClass import org.jetbrains.kotlin.psi.KtDeclaration -import org.jetbrains.kotlin.psi.KtElement import org.jetbrains.kotlin.psi.KtParameter import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKind -interface KtLightElement : PsiElement { - val kotlinOrigin: T? - - /** - * KtLightModifierList by default retrieves annotation from the relevant KtElement or from clsDelegate - * But we have none of them for KtUltraLightAnnotationForDescriptor built upon descriptor - * For that case, KtLightModifierList in the beginning checks `givenAnnotations` and uses them if it's not null - * Probably, it's a bit dirty solution. But, for now it's not clear how to make it better - */ - val givenAnnotations: List? get() = null -} - -interface KtLightDeclaration : KtLightElement, PsiNamedElement - interface KtLightMember : PsiMember, KtLightDeclaration, PsiNameIdentifierOwner, PsiDocCommentOwner { val lightMemberOrigin: LightMemberOrigin? @@ -40,10 +25,6 @@ interface KtLightParameter : PsiParameter, KtLightDeclaration { val isDelegated: Boolean get() = lightMemberOrigin?.originKind == JvmDeclarationOriginKind.DELEGATION