[FE] Add sealed classes related properties to java model
This commit is contained in:
committed by
TeamCityServer
parent
8e9e34350f
commit
bdfb71b149
+2
@@ -158,6 +158,8 @@ class MockKotlinClassifier(override val classId: ClassId,
|
|||||||
override val isAnnotationType get() = shouldNotBeCalled()
|
override val isAnnotationType get() = shouldNotBeCalled()
|
||||||
override val isEnum get() = shouldNotBeCalled()
|
override val isEnum get() = shouldNotBeCalled()
|
||||||
override val isRecord get() = shouldNotBeCalled()
|
override val isRecord get() = shouldNotBeCalled()
|
||||||
|
override val isSealed: Boolean get() = shouldNotBeCalled()
|
||||||
|
override val permittedTypes: Collection<JavaClassifierType> get() = shouldNotBeCalled()
|
||||||
override val methods get() = shouldNotBeCalled()
|
override val methods get() = shouldNotBeCalled()
|
||||||
override val fields get() = shouldNotBeCalled()
|
override val fields get() = shouldNotBeCalled()
|
||||||
override val constructors get() = shouldNotBeCalled()
|
override val constructors get() = shouldNotBeCalled()
|
||||||
|
|||||||
+5
@@ -68,6 +68,11 @@ class FakeSymbolBasedClass(
|
|||||||
override val isRecord: Boolean get() = false
|
override val isRecord: Boolean get() = false
|
||||||
|
|
||||||
override val recordComponents: Collection<JavaRecordComponent> get() = emptyList()
|
override val recordComponents: Collection<JavaRecordComponent> get() = emptyList()
|
||||||
|
|
||||||
|
override val isSealed: Boolean get() = false
|
||||||
|
|
||||||
|
override val permittedTypes: Collection<JavaClassifierType> get() = emptyList()
|
||||||
|
|
||||||
override val lightClassOriginKind: LightClassOriginKind? get() = null
|
override val lightClassOriginKind: LightClassOriginKind? get() = null
|
||||||
|
|
||||||
override val methods: Collection<JavaMethod> get() = emptyList()
|
override val methods: Collection<JavaMethod> get() = emptyList()
|
||||||
|
|||||||
+7
@@ -107,6 +107,13 @@ class SymbolBasedClass(
|
|||||||
override val isEnum: Boolean
|
override val isEnum: Boolean
|
||||||
get() = element.kind == ElementKind.ENUM
|
get() = element.kind == ElementKind.ENUM
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
override val isSealed: Boolean
|
||||||
|
get() = false
|
||||||
|
|
||||||
|
override val permittedTypes: Collection<JavaClassifierType>
|
||||||
|
get() = emptyList()
|
||||||
|
|
||||||
override val lightClassOriginKind: LightClassOriginKind?
|
override val lightClassOriginKind: LightClassOriginKind?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
|||||||
@@ -118,6 +118,13 @@ class TreeBasedClass(
|
|||||||
override val isRecord: Boolean
|
override val isRecord: Boolean
|
||||||
get() = false
|
get() = false
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
override val isSealed: Boolean
|
||||||
|
get() = false
|
||||||
|
|
||||||
|
override val permittedTypes: Collection<JavaClassifierType>
|
||||||
|
get() = emptyList()
|
||||||
|
|
||||||
override val lightClassOriginKind: LightClassOriginKind?
|
override val lightClassOriginKind: LightClassOriginKind?
|
||||||
get() = null
|
get() = null
|
||||||
|
|
||||||
|
|||||||
+6
@@ -59,6 +59,12 @@ class JavaClassImpl(psiClass: PsiClass) : JavaClassifierImpl<PsiClass>(psiClass)
|
|||||||
override val isEnum: Boolean
|
override val isEnum: Boolean
|
||||||
get() = psi.isEnum
|
get() = psi.isEnum
|
||||||
|
|
||||||
|
override val isSealed: Boolean
|
||||||
|
get() = JavaElementUtil.isSealed(this)
|
||||||
|
|
||||||
|
override val permittedTypes: Collection<JavaClassifierType>
|
||||||
|
get() = classifierTypes(psi.permitsListTypes)
|
||||||
|
|
||||||
override val isRecord: Boolean
|
override val isRecord: Boolean
|
||||||
get() = psi.isRecord
|
get() = psi.isRecord
|
||||||
|
|
||||||
|
|||||||
+4
@@ -52,6 +52,10 @@ import static org.jetbrains.kotlin.load.java.structure.impl.JavaElementCollectio
|
|||||||
return owner.getPsi().hasModifierProperty(PsiModifier.FINAL);
|
return owner.getPsi().hasModifierProperty(PsiModifier.FINAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isSealed(@NotNull JavaModifierListOwnerImpl owner) {
|
||||||
|
return owner.getPsi().hasModifierProperty(PsiModifier.SEALED);
|
||||||
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public static Visibility getVisibility(@NotNull JavaModifierListOwnerImpl owner) {
|
public static Visibility getVisibility(@NotNull JavaModifierListOwnerImpl owner) {
|
||||||
PsiModifierListOwner psiOwner = owner.getPsi();
|
PsiModifierListOwner psiOwner = owner.getPsi();
|
||||||
|
|||||||
+7
@@ -70,6 +70,9 @@ class BinaryJavaClass(
|
|||||||
|
|
||||||
override val lightClassOriginKind: LightClassOriginKind? get() = null
|
override val lightClassOriginKind: LightClassOriginKind? get() = null
|
||||||
|
|
||||||
|
override val isSealed: Boolean get() = permittedTypes.isNotEmpty()
|
||||||
|
override val permittedTypes = arrayListOf<JavaClassifierType>()
|
||||||
|
|
||||||
override fun isFromSourceCodeInScope(scope: SearchScope): Boolean = false
|
override fun isFromSourceCodeInScope(scope: SearchScope): Boolean = false
|
||||||
|
|
||||||
override fun visitEnd() {
|
override fun visitEnd() {
|
||||||
@@ -233,4 +236,8 @@ class BinaryJavaClass(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun visitPermittedSubtypeExperimental(permittedSubtype: String?) {
|
||||||
|
permittedTypes.addIfNotNull(permittedSubtype?.convertInternalNameToClassifierType())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,6 +86,8 @@ interface JavaClass : JavaClassifier, JavaTypeParameterListOwner, JavaModifierLi
|
|||||||
val isAnnotationType: Boolean
|
val isAnnotationType: Boolean
|
||||||
val isEnum: Boolean
|
val isEnum: Boolean
|
||||||
val isRecord: Boolean
|
val isRecord: Boolean
|
||||||
|
val isSealed: Boolean
|
||||||
|
val permittedTypes: Collection<JavaClassifierType>
|
||||||
val lightClassOriginKind: LightClassOriginKind?
|
val lightClassOriginKind: LightClassOriginKind?
|
||||||
|
|
||||||
val methods: Collection<JavaMethod>
|
val methods: Collection<JavaMethod>
|
||||||
|
|||||||
+6
@@ -122,6 +122,12 @@ class ReflectJavaClass(
|
|||||||
override val isRecord: Boolean
|
override val isRecord: Boolean
|
||||||
get() = false
|
get() = false
|
||||||
|
|
||||||
|
override val isSealed: Boolean
|
||||||
|
get() = false
|
||||||
|
|
||||||
|
override val permittedTypes: Collection<JavaClassifierType>
|
||||||
|
get() = emptyList()
|
||||||
|
|
||||||
override fun equals(other: Any?) = other is ReflectJavaClass && klass == other.klass
|
override fun equals(other: Any?) = other is ReflectJavaClass && klass == other.klass
|
||||||
|
|
||||||
override fun hashCode() = klass.hashCode()
|
override fun hashCode() = klass.hashCode()
|
||||||
|
|||||||
Reference in New Issue
Block a user