diff --git a/uast/uast-java/src/org/jetbrains/uast/java/declarations/JavaUClass.kt b/uast/uast-java/src/org/jetbrains/uast/java/declarations/JavaUClass.kt index 939758b776a1..1a6b84dda739 100644 --- a/uast/uast-java/src/org/jetbrains/uast/java/declarations/JavaUClass.kt +++ b/uast/uast-java/src/org/jetbrains/uast/java/declarations/JavaUClass.kt @@ -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 diff --git a/uast/uast-tests/test/org/jetbrains/uast/test/java/JavaUastApiTest.kt b/uast/uast-tests/test/org/jetbrains/uast/test/java/JavaUastApiTest.kt index 6bcb99da0539..8cf36b1d3d26 100644 --- a/uast/uast-tests/test/org/jetbrains/uast/test/java/JavaUastApiTest.kt +++ b/uast/uast-tests/test/org/jetbrains/uast/test/java/JavaUastApiTest.kt @@ -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() - 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;