[SLC] SymbolLightClassForClassLike: drop redundant properties

^KT-56046
This commit is contained in:
Dmitrii Gridin
2023-01-25 15:16:22 +01:00
committed by Space Team
parent e081fe92db
commit b2436ba176
5 changed files with 17 additions and 24 deletions
@@ -107,6 +107,11 @@ internal class SymbolLightClassForAnonymousObject : SymbolLightClassForClassLike
override fun getNameIdentifier(): KtLightIdentifier? = null
override fun getModifierList(): PsiModifierList? = null
override fun hasModifierProperty(name: String): Boolean = name == PsiModifier.FINAL
override fun isInterface(): Boolean = false
override fun isAnnotationType(): Boolean = false
override fun isEnum(): Boolean = false
override fun getContainingClass(): PsiClass? = null
override fun getTypeParameters(): Array<PsiTypeParameter> = PsiTypeParameter.EMPTY_ARRAY
override fun getTypeParameterList(): PsiTypeParameterList? = null
@@ -29,7 +29,6 @@ import org.jetbrains.kotlin.light.classes.symbol.*
import org.jetbrains.kotlin.light.classes.symbol.annotations.hasDeprecatedAnnotation
import org.jetbrains.kotlin.light.classes.symbol.parameters.SymbolLightTypeParameterList
import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind
import org.jetbrains.kotlin.psi.KtClass
import org.jetbrains.kotlin.psi.KtClassBody
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtObjectDeclaration
@@ -88,24 +87,6 @@ abstract class SymbolLightClassForClassLike<SType : KtClassOrObjectSymbol> prote
classOrObjectDeclaration?.let { it is KtObjectDeclaration } ?: withClassOrObjectSymbol { it.classKind.isObject }
}
internal val isInterface: Boolean by lazyPub {
classOrObjectDeclaration?.let { it is KtClass && it.isInterface() } ?: withClassOrObjectSymbol {
it.classKind == KtClassKind.INTERFACE
}
}
internal val isAnnotation: Boolean by lazyPub {
classOrObjectDeclaration?.let { it is KtClass && it.isAnnotation() } ?: withClassOrObjectSymbol {
it.classKind == KtClassKind.ANNOTATION_CLASS
}
}
internal val isEnum: Boolean by lazyPub {
classOrObjectDeclaration?.let { it is KtClass && it.isEnum() } ?: withClassOrObjectSymbol {
it.classKind == KtClassKind.ENUM_CLASS
}
}
private val _isDeprecated: Boolean by lazyPub {
withClassOrObjectSymbol { it.hasDeprecatedAnnotation() }
}
@@ -180,9 +161,9 @@ abstract class SymbolLightClassForClassLike<SType : KtClassOrObjectSymbol> prote
override fun hasModifierProperty(@NonNls name: String): Boolean = modifierList?.hasModifierProperty(name) ?: false
override fun isInterface(): Boolean = isInterface
override fun isAnnotationType(): Boolean = isAnnotation
override fun isEnum(): Boolean = isEnum
abstract override fun isInterface(): Boolean
abstract override fun isAnnotationType(): Boolean
abstract override fun isEnum(): Boolean
override fun isValid(): Boolean = classOrObjectDeclaration?.isValid ?: classOrObjectSymbolPointer.isValid(ktModule)
@@ -298,9 +298,16 @@ internal open class SymbolLightClassForClassOrObject : SymbolLightClassForNamedC
}
override fun isInterface(): Boolean = false
override fun isAnnotationType(): Boolean = false
private val _isEnum: Boolean by lazyPub {
classOrObjectDeclaration?.let { it is KtClass && it.isEnum() } ?: withClassOrObjectSymbol {
it.classKind == KtClassKind.ENUM_CLASS
}
}
override fun isEnum(): Boolean = _isEnum
override fun copy(): SymbolLightClassForClassOrObject =
SymbolLightClassForClassOrObject(classOrObjectDeclaration, classOrObjectSymbolPointer, ktModule, manager)
}
@@ -78,4 +78,5 @@ internal open class SymbolLightClassForInterface : SymbolLightClassForInterfaceO
}
override fun getExtendsList(): PsiReferenceList? = _extendsList
override fun isAnnotationType(): Boolean = false
}
@@ -45,7 +45,6 @@ internal class SymbolLightClassForInterfaceDefaultImpls(private val containingCl
override fun isInterface(): Boolean = false
override fun isDeprecated(): Boolean = false
override fun isAnnotationType(): Boolean = false
override fun isEnum(): Boolean = false
override fun hasTypeParameters(): Boolean = false
override fun isInheritor(baseClass: PsiClass, checkDeep: Boolean): Boolean =
baseClass.qualifiedName == CommonClassNames.JAVA_LANG_OBJECT