mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
Java UAST: JavaUClass's own isRecord
Otherwise, it will use the default interface impl, which always returns false. ^IDEA-363783 fixed GitOrigin-RevId: 1e5eedd75661c92f95f76611eb7c48c77be71052
This commit is contained in:
committed by
intellij-monorepo-bot
parent
1b713a7bbc
commit
5aded8dfe2
@@ -57,6 +57,10 @@ abstract class AbstractJavaUClass(
|
||||
|
||||
override fun equals(other: Any?): Boolean = other is AbstractJavaUClass && javaPsi == other.javaPsi
|
||||
override fun hashCode(): Int = javaPsi.hashCode()
|
||||
|
||||
override fun isRecord(): Boolean {
|
||||
return javaPsi.isRecord
|
||||
}
|
||||
}
|
||||
|
||||
@ApiStatus.Internal
|
||||
|
||||
@@ -218,7 +218,8 @@ class JavaUastApiTest : AbstractJavaUastTest() {
|
||||
val psiFile = myFixture.configureByFile("Simple/Record.java")
|
||||
val psiClass = (psiFile as PsiJavaFile).classes[0]
|
||||
val uClass = psiClass.toUElementOfType<UClass>()
|
||||
val constructor = uClass!!.methods.single { it.isConstructor }
|
||||
TestCase.assertTrue(uClass!!.isRecord)
|
||||
val constructor = uClass.methods.single { it.isConstructor }
|
||||
assertInstanceOf(constructor.javaPsi, LightRecordCanonicalConstructor::class.java)
|
||||
TestCase.assertEquals(constructor, constructor.javaPsi.toUElement())
|
||||
assertInstanceOf(constructor.sourcePsi, PsiRecordHeader::class.java)
|
||||
@@ -313,7 +314,7 @@ class JavaUastApiTest : AbstractJavaUastTest() {
|
||||
import java.lang.annotation.Target;
|
||||
@Target({ElementType.TYPE_USE, ElementType.TYPE_PARAMETER})
|
||||
@interface MyNullable {}
|
||||
|
||||
|
||||
class Test {
|
||||
@MyNullable String test() {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user