From b12f24b41cd02574305323f246673dc0fcb99d5c Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Fri, 29 Sep 2017 13:18:09 +0300 Subject: [PATCH] Fix KtLightClass conversion and testParameterPropertyWithAnnotation --- .../jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt | 10 +++++----- plugins/uast-kotlin/tests/KotlinUastApiTest.kt | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt index 5078e8ef082..66fef95e10e 100644 --- a/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt +++ b/plugins/uast-kotlin/src/org/jetbrains/uast/kotlin/KotlinUastLanguagePlugin.kt @@ -138,12 +138,12 @@ class KotlinUastLanguagePlugin : UastLanguagePlugin { return with(requiredType) { when (original) { is KtLightMethod -> el(build(KotlinUMethod.Companion::create)) // .Companion is needed because of KT-13934 - is KtLightClass -> el { - (original.kotlinOrigin as? KtEnumEntry)?.let { enumEntry -> - convertEnumEntry(enumEntry, givenParent) - } ?: KotlinUClass.create(original, givenParent) + is KtLightClass -> when (original.kotlinOrigin) { + is KtEnumEntry -> el { + convertEnumEntry(original.kotlinOrigin as KtEnumEntry, givenParent) + } + else -> el { KotlinUClass.create(original, givenParent) } } - is KtLightFieldImpl.KtLightEnumConstant -> el(build(::KotlinUEnumConstant)) is KtLightField -> el(build(::KotlinUField)) is KtLightParameter, is UastKotlinPsiParameter -> el(build(::KotlinUParameter)) diff --git a/plugins/uast-kotlin/tests/KotlinUastApiTest.kt b/plugins/uast-kotlin/tests/KotlinUastApiTest.kt index 3f1ebfec679..cf69674db17 100644 --- a/plugins/uast-kotlin/tests/KotlinUastApiTest.kt +++ b/plugins/uast-kotlin/tests/KotlinUastApiTest.kt @@ -88,16 +88,16 @@ class KotlinUastApiTest : AbstractKotlinUastTest() { val test2 = file.classes.find { it.name == "Test2" }!! val constructor2 = test2.methods.find { it.name == "Test2" }!! - assertFalse(constructor2.uastParameters.first().annotations.any { it.qualifiedName == "MyAnnotation" }) + assertFalse(constructor2.uastParameters.first().annotations.any { it.qualifiedName?.startsWith("MyAnnotation") ?: false }) val getter2 = test2.methods.find { it.name == "getBar" }!! getter2.annotations.single { it.qualifiedName == "MyAnnotation" } val setter2 = test2.methods.find { it.name == "setBar" }!! - setter2.annotations.single { it.qualifiedName == "MyAnnotation" } - setter2.uastParameters.first().annotations.single { it.qualifiedName == "MyAnnotation" } + setter2.annotations.single { it.qualifiedName == "MyAnnotation2" } + setter2.uastParameters.first().annotations.single { it.qualifiedName == "MyAnnotation3" } - test2.fields.find { it.name == "bar" }!!.annotations.single { it.qualifiedName == "MyAnnotation" } + test2.fields.find { it.name == "bar" }!!.annotations.single { it.qualifiedName == "MyAnnotation5" } } }